相对定位的盒子何时建立新的包含块?

4

CSS2.2, 9.4.3 相对定位 中指出:

相对定位的盒子保留其正常流大小,包括换行和最初为其保留的空间。关于包含块的部分解释了相对定位的盒子何时建立新的包含块。

而关于包含块的部分是:

在CSS 2.2中,许多框的位置和大小是相对于矩形框的边缘计算的,该矩形框称为包含块。一般情况下,生成的框充当后代框的包含块;我们说一个框“建立”其后代的包含块。短语“框的包含块”意味着“框所在的包含块”,而不是它生成的包含块。每个框都相对于其包含块给出一个位置,但不受此包含块的限制;它可能溢出。有关包含块如何计算尺寸的详细信息下一章节中描述。

我认为这并没有“说明相对定位框何时建立新的包含块”。

我的问题是:相对定位的盒子是否只有在有后代时才建立新的包含块,就像没有相对定位的盒子一样?如果是这样,为什么在相对定位部分添加了一个关于包含块的参考?
1个回答

2

其中一个不同之处在于相对定位的框是内联框时。内联框通常不是包含块,因此,例如,一个浮动元素是具有 display:inline; 的元素的子元素时,它不会移动到其父元素的边缘,而是移动到建立其包含块的祖先元素的边缘。

但是,相对定位的内联框确实为其绝对定位的后代元素建立了包含块。请参见9.8.4 绝对定位中的第二个和第三个示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接