CSS2.2, 9.4.3 Relative positioning 中,指出:



关于 containing blocks 的部分是:



我认为这并不能真正“解释何时相对定位的框建立新的包含块”。

我的问题是:一个相对定位的盒子是否会在且仅当它有后代时才建立一个新的包含块,就像没有相对定位的盒子一样?如果是这样,为什么要在 containing blocks 部分添加对 relative positioning 的引用?

最佳答案

一个区别是当相对定位的框是内联框时。内联框通常不是包含块,因此,例如,作为具有 display:inline; 的元素的子元素的 float 元素不会移动到其父元素的边缘,而是移动到其祖先元素的边缘,这确实建立了它的包含块。

但是相对定位的内联框确实为其绝对定位的后代建立了包含块。请参阅 9.8.4 Absolute positioning 上的第二个和第三个示例

关于html - 一个相对定位的盒子什么时候建立一个新的包含块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39988715/

10-12 00:14