什么是BFC
BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的BFC(块级格式上下文)。
创建一个BFC
- 根元素
- 浮动元素(float不是none)
- 绝对定位元素(position取值为absolute或fixed)
- display取值为inline-block,table-cell, table-caption,flex, inline-flex之一的元素
- overflow不是visible的元素
BFC的作用
- 可以包含浮动元素
- 不被浮动元素覆盖
- 阻止父子元素的margin折叠