当静态块元素跟随浮动元素时,它将填充可用的剩余空间。
因此,例如.right
将采用 80% 的宽度:
.left {
background-color: red;
float: left;
width: 20%;
}
.right {
background-color: blue;
}
然而,当一个块元素position: relative
跟随一个浮动元素时,浮动元素似乎被忽略了,并且相对元素占据了 100% 的宽度:
.left {
background-color: red;
float: left;
width: 20%;
}
.right {
background-color: blue;
position: relative;
}
根据 W3C “一旦一个盒子按照正常流程布局或浮动,它可能会相对于这个位置移动” (来源)
因此,如果我不更改元素的left
orright
位置,为什么它将自己设置在其父元素的最左侧而不是保持正常流程?