BFC,即Block Formatting Context(块格式化上下文),是Web页面的可视CSS渲染的一部分,是块级盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。简单来说,BFC可...
BFC,即Block Formatting Context(块格式化上下文),是Web页面的可视CSS渲染的一部分,是块级盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。简单来说,BFC可以被视为页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。
创建BFC的方式有多种,包括但不限于:
根元素(如<html>)。
浮动元素(float值不为none)。
绝对定位元素(position值为absolute或fixed)。
行内块元素(display值为inline-block)。
表格单元格(display值为table-cell)。
overflow值不为visible的块级元素。
display值为flow-root、flex或inline-flex的元素。
BFC的特点包括:
内部的Box会在垂直方向上一个接一个地放置。
属于同一个BFC的两个相邻Box的margin会发生重叠。
每个Box的左外边缘与包含块的左边缘相接触,即使存在浮动。
BFC的区域不会与float box重叠。
计算BFC的高度时,浮动元素也参与计算。
BFC在CSS布局中有着重要的应用,例如用于清除浮动影响和避免外边距合并等场景。