<style>
.cl {clear:both;}
.block {}
.left {float:left;}
</style>
<div class="block">
<div class="left">Title 1</div>
<div class="left">Value 1</div>
<div class="cl"></div>
</div>
<div class="block">
<div class="left">Title 2</div>
<div class="left">Value 2</div>
<div class="cl"></div>
</div>
是否可以避免在每个<div class="cl"></div>
的末尾添加.block
?
答案 0 :(得分:5)
此问题有两个常见的解决方案。
overflow: hidden
添加到浮动元素的父级(在本例中为.block
)。此处提供更多信息:Is clearfix deprecated?
使用clear: both
的好时机是当已经有一个可用于添加它的元素时。
例如,带有页脚的浮动列的常见情况:http://jsfiddle.net/thirtydot/vhBkM/
答案 1 :(得分:1)
你可以这样做:
<style>
br {clear:both;}
</style>
<div class="block">
<div class="left">Title 2</div>
<div class="left">Value 2</div>
</div>
<br/>
第二个选项:@animuson评论
<style>
.container br {clear:both;}
</style>
<div class="container">
<div class="block">
<div class="left">Title 2</div>
<div class="left">Value 2</div>
</div>
<br/>
</div>
答案 2 :(得分:1)
你根本不需要<div class="cl"></div>
div。只需将clear: both
放在块div上。
CSS
.block {
clear: both;
overflow: hidden; /* If you want to make the div size to the contents and not collapse use this line (from thirtydot answer) */
}
.left { float:left; }
HTML
<div class="block">
<div class="left">Title 1</div>
<div class="left">Value 1</div>
</div>
<div class="block">
<div class="left">Title 2</div>
<div class="left">Value 2</div>
</div>
编辑:添加代码
答案 3 :(得分:0)
尝试在overflow:hidden
上使用.block
我知道有时会修复它。