在CSS2.2、9.4.3相对定位中,有人指出:
相对定位的框保持其正常的流大小,包括换行和原来为其保留的空间。关于含块的部分解释了当一个相对定位的框建立一个新的包含块时。
关于含块的一节是:
在CSS2.2中,许多盒子的位置和大小是根据一个叫做的矩形盒的边缘来计算的,它包含块。通常,生成的框充当子代框的包含块;我们说一个框“建立”了它的后代的包含块。短语“一个盒子的包含块”的意思是“包含的块在其中居住的盒子”,而不是它产生的。 每个方框相对于其包含的块有一个位置,但它不受这个包含块的限制;它可以溢出。 如何计算包含块的尺寸的详细信息在下一章中描述。
我不认为真正的“解释当一个相对定位的盒子建立一个新的包含块。”
我的问题是:一个相对定位的盒子是否只有当它有后代时才建立一个新的包含块,就像没有相对位置的盒子一样?如果是,为什么在关于含块的部分中添加对相对定位的引用?
发布于 2016-10-12 07:30:59
一个不同之处是,相对定位的盒子是一个内嵌盒。内联框通常不是包含块,因此,例如,作为带有display:inline;的元素的子元素的浮动元素不会移动到其父元素的边缘,而是移动到其祖先元素的边缘,后者确实建立了包含的块。
但是,相对定位的内联框确实为其绝对定位的后代建立了包含块。参见9.8.4绝对定位中的第二个和第三个示例
https://stackoverflow.com/questions/39988715
复制相似问题