bfc 的应用

bfc 的应用 - 清除浮动

高度塌陷问题:在通常情况下父元素的高度会被子元素撑开,而在这里因为其子元素为浮动元素所以父元素发生了高度坍塌,上下边界重合。

未清浮动前 - 父元素发生了高度坍塌

div1
div2
div3

创建bfc - 清浮动后 - 父元素的高度会被子元素撑开

div1
div2
div3

bfc 的应用 - 不被浮动元素覆盖

div浮动兄弟遮盖问题:由于左侧块级元素发生了浮动,所以和右侧未发生浮动的块级元素不在同一层内,所以会发生div遮挡问题

div1左浮动,div2无浮动,div2被div1遮挡了部分内容

div1
div2

创建bfc - 解决div浮动兄弟元素被遮挡问题

div1
div2 --- overflow: hidden;

bfc 的应用 - BFC特性下多栏自适应布局

块格式化上下文对于定位很重要。定位和清除浮动的样式规则只适用于处于同一块格式化上下文内的元素。浮动不会影响其它块格式化上下文中元素的布局,并且清除浮动只能清除同一块格式化上下文中在它前面的元素的浮动。

图片:float: left;margin-right: 10px;
文本:无浮动;overflow: auto;


BFC自适应布局优势