3 回答
TA贡献1827条经验 获得超9个赞
当子元素浮动时,它们将从文档流中删除。这样做时,父级将不再具有定义的尺寸,因为子级在技术上不会占用空间。因此,父元素自身折叠。当绝对定位子元素时,也会发生相同的情况。
在这种情况下,我们可以通过添加overflow:hidden到父元素来修复它,从而强制其包含子元素。另外也overflow:auto可以工作。有人可能会建议它比可能更好,overflow:hidden因为您将能够判断出是否有任何计算不可用。
jsFiddle示例
.content {
overflow:hidden;
}
现在父元素不再折叠,红色背景可见。
如果要在旧版浏览器中寻求支持,也可以使用clearfix,但我不建议这样做。
TA贡献1794条经验 获得超8个赞
我在内容容器的末尾使用了一个空的clear div
添加了CSS:
.clear {
clear: both;
}
HTML:
<div class="content">
<div class="left">
<p>some content</p>
</div>
<div class="right">
<p>some content</p>
</div>
<div class="clear"></div>
</div>
TA贡献1911条经验 获得超7个赞
您可以尝试此解决方案
.content:before, .content:after {
content: " ";
display: table;
clear: both;
}
或在内容div中添加display:table:
.content {
width: 960px;
height: auto;
margin: 0 auto;
background: red;
clear: both;
display: table;
}
- 3 回答
- 0 关注
- 473 浏览
相关问题推荐
添加回答
举报