1.BFC(块级格式化上下文)
块级格式化上下文,Block Formatting Context,也就是常说的BFC,属于css渲染/布局过程中生成块级区域/浮动元素与其他元素的交互限定区域
BFC对浮动、定位、清除浮动都很重要,三者只会对同一个BFC内的元素起作用。
- 浮动不会影响BFC的中元素的布局
- 清除浮动职能清除同一个BFC中在他前面元素的浮动
- 外边距折叠只会发生在同一个BFC的块级元素之间
什么时候会创建BFC
1. float 元素属性不为none 或者position属性不为absolute/fixed时
2. 行内块元素display属性为inline-block
3. overflow的值不为visible的元素
4. 弹性元素(display为flex或inline-flex元素的直接子元素)
2.BFC的特性
两个相邻的普通流中的块元素垂直方向的margin会发生折叠
BFC可以包含浮动的元素