我正在尝试浮动固定宽度(300px + 40px 边距)和高度是固定值(400px + 40px 边距)的整数倍的元素,以便它们都应该完美堆叠。我将它们浮动在一个具有固定宽度的容器中,以恰好适合连续两个(680px = 2*300px + 2*40px)。非 IE 浏览器完美地执行了这项任务,但 IE8 因我无法理解的原因而失败。谁能解释为什么 IE8 不能完成这个看似简单的任务,以及是否可以修复它,而不必明确地“清除:左;” 在那些元素上?(如果我向该元素添加内联“clear:left;”,IE8 会清除它,但它的位置根本不会改变,所以它不像元素“碰撞”到“tall”元素。)
HTML:
<div id="boxes">
<div class="box tall"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
CSS:
#boxes {
position: relative;
width: 680px;
margin-left: -40px;
}
.box {
position: relative;
float: left;
width: 300px;
height: 200px;
margin-left: 40px;
margin-bottom: 40px;
background-color: red;
}
.box.tall {
height: 440px;
}