视觉格式化模型


块级盒子:block-level box,由块级元素生成。一个块级元素至少会生成一个块级盒子,但也有可能生成多个(例如列表项元素)。

块容器盒子:block container box 或 block containing box,块容器盒子侧重于当前盒子作为"容器"的这一角色,它不参与当前块的布局和定位,它所描述的仅仅是当前盒子与其后代之间的关系。换句话说,块容器盒子主要用于确定其子元素的定位、布局等。

匿名块盒子:在某些情况下进行视觉格式化时,需要添加一些增补性的盒子,这些盒子不能用 CSS 选择符选中


行内级盒子:inline-level box,由行内级元素生成。行内级盒子包括行内盒子和原子行内级盒子两种,区别在于该盒子是否参与行内格式化上下文的创建。

原子行内级盒子:行内级盒子的内容不参与行内格式化上下文的创建,在同一个行内格式化上下文中,原子行内级盒子不能拆分成多个盒子
<style>
span {
display:inline-block; // 行内级盒子的内容参与另外一个块级格式化上下文的创建
}
</style>
<div style="width:20em;">
The text in the span <span>cannot be split in several
lines as it</span> is an inline-block box.
</div>