首先我们现在了解这两个概念:Block(box)、formatting context。
不同类型的box在不同的formatting context里会以不同的方式来渲染。
example:
block-level box:
display 属性为 block, list-item, table 的元素,会生成 block-level box。并且参与 block fomatting context;
inline-level box:
display 属性为 inline, inline-block, inline-table 的元素,会生成 inline-level box。并且参与 inline formatting context;
run-in box:
css3 中才有, 这儿先不讲了
页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。
BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
清除内部浮动(bfc元素类的浮动元素高度也参与计算)
原文:https://www.cnblogs.com/guohanyang/p/14133774.html