block formatting context:块级格式化上下文 浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的块级格式化上下文。

讲BFC之前先讲清除浮动

1、BFC的作用

为脱离文档流的元素建立一个BFC,让它像块级元素一样排列在DOM中。

2、实现方法

overflow:hidden

3、实际用法

比如当两个div,一个正常一个浮动的时候,浮动的可能会叠加在正常的里面,因为浮动脱离文档流。这时候加上overflow:hidden,就可以实现布局了

再比如由于子节点的浮动导致脱离了父节点文档,所以父div没有被撑开,给父div加上overflow:hidden,就可以被撑开了。

4、clearfix:after

使用伪元素在元素之后插入内容,并利用伪元素来清除浮动。

.clearfix:after{
    content: '';
    display: block;
    clear: both
}