« 回到主页

CSS 包含块Containing Block

1 CSS包含块(Containing Block)

CSS包含块(Containing Block)是视觉格式化模型的一个重要概念,它与框模型类似,也可以理解为一个矩形,而这个矩形的作用是为它里面包含的元素提供一个参考,元素的尺寸和位置的计算往往是由该元素所在的包含块决定的。 包含块是定位参考框或定位坐标参考系,元素一旦定义了position定位(absolute或relative或fixed),它所包含的定位元素都将以该包含块为坐标系进行定位和调整。

2 initial containing block(初始内容块)

用户代理(如浏览器)选择根元素(HTML/body)作为initial containing block(初始内容块)。

3 不同情况下的containing block

3.1 position: absolute

找到其祖先元素中最近的position值不为static的元素,再判断: 1)若此元素为inline元素,则containing block取决于祖先的direction属性。

3.2 position: static或relative

containing block是它的父元素的内容框(即去掉padding的部分)。

3.3 position: fixed

containing block为initial containing block。

« 回到主页