上面写着:
浮动框向左或向右移动,直到其外缘接触到包含块边缘或另一个浮动框的外缘。
我想知道浮动元素的包含块是什么,我测试:

body {
    position: relative;
    margin: 5px;
    padding: 10px;
}

p {
    float: left;
    position: absolute;
    margin: 10px;
}

<body>
    <p>hehe</p>
</body>

根据In css2.1 spec,绝对定位元素的包含块是最近定位的块容器的填充框。
但是在上面的代码中,浮动元素被浮动到内容框边界。我不知道如何找到浮动元素的包含块。

最佳答案

你问题的前提是有缺陷的。绝对定位的元素不能浮动,浮动也不能绝对定位。从section 9.7
[…]如果“position”的值为“absolute”或“fixed”,则框是绝对定位的,“float”的计算值为“none”[…]
所以你不想在这里找到一个浮点数的包含块。您试图找到一个不适定元素的包含块。
尽管如此,如果您真的必须知道,float的包含块与我在my answer to your previous question中描述的相对定位或非定位元素的包含块相同,因为float不能脱离。

07-24 09:18