会计格式化上下文,全称Block Formatting Context.它是一块独立存在的渲染区域,它规定了在该区域中,常规流块盒的布局。
BFC渲染区域
这个区域由某个HTML元素创建,以下元素会创建BFC区域:
1.根元素,意味着<html></html>
元素创建的BFC区域,覆盖了网页中的所有元素
2.浮动元素
3.绝对定位元素
4.overflow不等于visible的块盒
不同区域创建的BFC区域,它们进行渲染时互不干扰。创建的BFC元素,隔绝了它内部和外部的练习,内部渲染不会影响到外部。
BFC区域中常规流块盒的布局
1.常规流块盒在水平方向上,必须撑满整个包含块
2.常规流块盒在包含块的垂直方向上依次摆放
3.常规流块盒若外边距无缝相邻,则进行外边距合并
4.常规流块盒的自动高度和摆放位置,无视浮动元素
具体规则:
创建BFC元素,
1.它的高度需要计算浮动元素
2.它的边框盒不会与浮动元素重叠
3.不会和它子元素进行外边距的合并