是指一个独立的块级渲染区域。只有Block-level Box 参与,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。
举一个没有BFC的例子:·
一个盒子在不设置高度的时候,内容子元素都浮动时,该父级盒子是无法撑起自身的。所以说这个盒子没有形成BFC。
如何创建BFC?
1.float的值不是none
2.position的值不是static 或者 relative
3.display的值是inline-block、flex或者inline-flex
4.overflo:hidden;
BFC的其他作用:
BFC可以取消盒子的margin塌陷(margin塌陷是指父级没有设置margin但是子元素的margin会让父元素看起来设置了margin)
BFC可以组织元素被浮动元素覆盖(不常用)