BFC(块级格式化上下文)是 CSS 中的一种盒模型布局,是指一个独立的块级容器,容器内部的元素会按照一定规则进行布局。
BFC 具体的规则有以下几个:
-
BFC 内部的元素在垂直方向上相互排列,不会出现浮动的情况。
-
每个 BFC 都是一个独立的容器,容器内部的元素不会影响到外部的元素。即 BFC 具有隔离作用。
-
BFC 的边界不会和浮动元素重叠,而是会将浮动元素包裹在内部。
-
BFC 内的块元素会按照顺序一个接一个地放置。
-
BFC 具有一定的自适应能力,当容器高度不够时,容器会自适应地缩小高度,从而避免出现溢出的情况。
应用场景:
-
清除浮动:在父元素设置 BFC,从而避免浮动元素对其它元素的影响。
-
避免外边距的合并:当两个相邻的块框的 margin-top 和 margin-bottom 相遇时,会合并为一个 margin,通过在两个块框之间插入一个拥有 BFC 属性的元素,可以避免合并的情况。
-
实现多列布局:例如通过设置 column-count 属性,将内容分成多个列进行布局。