BFC(块级格式化上下文)是CSS中的一种布局机制,它是页面中一个独立的渲染区域,具有一套自己的布局规则。BFC主要用于控制块级元素在页面中的布局和渲染方式。
当一个元素触发BFC时,它会创建一个独立的BFC环境,BFC环境会影响包含和相邻元素的布局。它的一些特性包括:

1.内部的块级元素会在垂直方向上一个接一个地放置,即一个块级元素紧跟在前一个块级元素的下方。
2.BFC中的块级元素不会与浮动元素重叠。
3.BFC在计算高度时会考虑其所有子元素,即BFC的高度会包括其所有子元素的高度。
4.BFC可以包含浮动元素,避免浮动元素对其周围元素的影响。

触发BFC的方式有多种,常见的方式包括:

5.根元素()
6.浮动元素(float 不为 none)
7.绝对定位元素(position 为 absolute 或 fixed)
8.块级元素设置了 overflow 为非 visible 值(例如 overflow: hidden)
9.弹性布局(display: flex 或 inline-flex)

BFC的应用场景有很多,它能够解决一些常见的布局问题,例如清除浮动、防止父元素高度塌陷等。通过触发BFC,我们可以控制元素在页面中的布局行为,实现更精确的布局效果。