我有一个相当直接的布局 - 主 div,它向左浮动。在其中我嵌套了其他 div 的样式都清晰。这是一个简化版本(所有项目都有子 div):
<div id="wrapper" class="floatLeft">
<div id="mainMenu" class="clearBoth">
<div id="item1" class="clearBoth">
</div>
<div id="item2" class="clearBoth">
</div>
<div id="item3" class="clearBoth">
</div>
</div>
</div>
.clearBoth {
clear: both;
}
.floatLeft {
float: left;
}
问题是 item3 的高度无论出于何种原因都被计算为 0。其中的所有元素都溢出到包装器 div 中。它看起来很可怕,因为主菜单 div 有背景等。如果我将“溢出:隐藏”的样式添加到第 3 项,它看起来很好 - 问题是为什么?我不明白为什么会有溢出?最重要的是 - 为什么 item3 的高度计算为 0?
这是 jsfiddle http://jsfiddle.net/uPtCd/的链接