css布局--浮动带来的问题(塌陷)及解决办法,以及maigin重叠防止及使用;常见的概念:FC、BFC

本文介绍了CSS中解决浮动导致的问题的方法,包括使用overflow、padding、border等属性,并详细解释了块级格式化上下文(BFC)的概念及其生成条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

浮动问题:是元素脱离文档流;父元素不能被子元素撑起

办法一:父元素添加.father{ overflow:hidden;zoom:1;}

办法二:父元素添加伪类.father:after{content:'',display:block;clear:both;}

办法三:给浮动元素随后边添加一个空元素,然后清楚浮动 clear:both

margin重叠(垂直方向mrgin会以大的为准则,元素浮动则不会出现margin塌陷)

情景:

<style>
.father{
   background-color:#d2d2d2;

}
  .son{
    width:100px;
    height100p;margin-top:20px;
}
</style>
<div class="father">
   <div class="son"></div>
</div>

发现父元素也被margin-top:20px;

办法一:.father:{overflow:hidden}

办法二:.father{padding-top:1px;}

方法三:.father{border-top:1px solid transparent;}

注:根据不同浏览器,情况也不尽相同。

前端布局中常见的概念:

FC:formatting Context,格式化上下文,指页面中一个渲染区域,拥有一套渲染规则,他决定了子元素

如何定位,以及与其他元素的相互关系与作用。

BFC:Block Formatting Context,块及元素格式化上下文。一个独立的块及元素渲染区域,拥有一套渲染规则来约束

块及盒子的布局,且与外部元素无法,

BFC产生的条件:

1.float的值不为none

2.display的值为inline-block、table-cell、table-caption

3.position的值为absolute或fix

4.html根元素。

BFC约束规则:

1.两个响铃的子元素之间的垂直距离取决于元素的margin特性。在BFC中相邻的块元素外边距会折叠,

同属一个BFC的两个相邻Box的Boxmargin会发生重叠。

2.生成两个BFC元素的子元素中,每一个元素左外边距与包含块的左边界接触,即使浮动元素也是如此。

3.BFC的区域不会与float的元素区域重叠

4.计算BFC高度时,浮动元素也参与计算。

5.BFC就是页面上一个隔离的独立容器,容器里面的子元素不会影响到外面元素,反之亦然。

css常见的一些问题都可以由上面两条推出,例如:

1.Block元素与父元素同宽,所以Block元素竖直方向上垂直排列。

2.竖直方向上有的Block元素margin会重叠,水平方向不会。

3.浮动元素会尽量接近左上方或右上方。

4.为父元素设置overflow:hidden或浮动父元素,则父元素会包含其浮动的子元素。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值