缺少一个清除div。浮动元素不会扩展
.cell_3x3_type
如你所料。请尝试以下操作:
<div class="cell">
<div class="cell_3x3_top">
<div class="cell_3x3_type">type</div>
<div class="cell_3x3_title">title</div>
<div class="cell_3x3_clear"></div>
</div>
<div class="cell_3x3_content">content</div>
</div>
CSS格式:
div.cell_3x3_clear {
clear: both;
}
编辑:
关于clear属性的作用的一个小解释:考虑一个容器
div
只包含浮动元素的,如下所示(为清晰起见,使用内联CSS):
<div id="container" style="border: 1px solid green;">
<div style="float: left; height: 30px; width: 30px; border: 1px solid red;"></div>
<div style="float: left; height: 20px; width: 20px; border: 1px solid blue;"></div>
</div>
http://fii.cz/vksyr
部门
是0,因为浮动元素已从文档流中取出,并且不再影响其容器的高度。这个
clear: both
元素上的属性“清除”所有浮动,即确保该元素位于其前面的所有浮动元素之下:
<div style="float: left; height: 30px; width: 30px; border: 1px solid red;"></div>
<div style="float: left; height: 20px; width: 20px; border: 1px solid blue;"></div>
<div style="clear: both; height: 10px; width: 50px; border: 1px solid black;">Cleared</div>
http://fii.cz/tjdqwac
<div id="container" style="border: 2px solid green;">
<div style="float: left; height: 30px; width: 30px; border: 1px solid red;"></div>
<div style="float: left; height: 20px; width: 20px; border: 1px solid blue;"></div>
<div style="clear: both; height: 0px; border: 1px solid black;"></div>
</div>
http://fii.cz/nmpshuh