含有漂浮元素的挡路是什么?
In css2.1 spec,写着:
浮动框将向左或向右移动,直到其外边缘接触到包含挡路的边缘或另一个浮动的外边缘。
我想知道浮动元素的包含挡路是什么,我测试了一下:
body {
position: relative;
margin: 5px;
padding: 10px;
}
p {
float: left;
position: absolute;
margin: 10px;
}
<body>
<p>hehe</p>
</body>
根据css2.1 spec,包含挡路的绝对定位元素是最近定位的挡路容器的填充盒。
但在上面的代码中,被浮动的元素被浮动到内容框边界。我不知道怎么找到浮动元素的包含挡路。
解决方案
您问题的前提有缺陷。绝对定位的元素不能浮动,浮动也不能绝对定位。发件人section 9.7:
[.]如果‘position’的值为‘Absolute’或‘Fixed’,则该框是绝对定位的,‘Float’的计算值为‘None’[.]
所以您在这里不会试图找到包含浮点的挡路。您正在尝试查找已缩写元素的包含挡路。
话虽如此,如果您一定要知道,浮点数的包含挡路与我在my answer to your previous question中描述的相对定位或非定位元素是相同的,因为浮点数不能省略。
相关文章