发生这种情况是因为每次浮动元素时,其容器都会失去其自动高度。如果你想防止这种情况发生,你可以做一些事情:
为容器设置给定的高度
前任:
<div class="my-container" style="height: 100px">
<div style="float: left;">
Some very interesting text right here.
</div>
<div style="float: left;">
Don't read this and you'll be doomed.
</div>
</div>
请注意,如果您设置了给定的高度,则 div 不会随着内容变得高于容器而调整大小。
style="clear: both"
在浮动元素之后添加一个 div
前任:
<div class="my-container">
<div style="float: left;">
Some very interesting text right here.
</div>
<div style="float: left;">
Don't read this and you'll be doomed.
</div>
<div style="clear:both"></div>
</div>
是的,它有效。但只有菜鸟才会这样做。它不优雅并且会污染你的代码。
设置overflow: hidden
为父容器
<div class="my-container" style="overflow: hidden">
<div style="float: left;">
Some very interesting text right here.
</div>
<div style="float: left;">
Don't read this and you'll be doomed.
</div>
</div>
这个很棒,但是如果你有一个绝对定位的东西并且必须将它移到父 div 之外,那么你就有危险了。你会有一个不愉快的惊喜。
使用 ClearFix 黑客。
这就是我这样做的方式:易于实施并且像魅力一样工作。查看此链接:http ://www.positioniseverything.net/easyclearing.html ;
如果你介意没有有效的 CSS(比如我),你可以使用不同的样式表和条件注释来定位 IE 浏览器。
有关该主题的更多资源: