Html 如何明确:两者皆有;正确地 .cl{clear:两者;} .block{} .left{float:left;} 标题1 值1 标题2 价值2
是否可以避免在每个Html 如何明确:两者皆有;正确地 .cl{clear:两者;} .block{} .left{float:left;} 标题1 值1 标题2 价值2,html,css,Html,Css,是否可以避免在每个.block的末尾添加?尝试在上使用溢出:隐藏。block我知道这有时会解决问题。您可以这样做: <style> .cl {clear:both;} .block {} .left {float:left;} </style> <div class="block"> <div class="left">Title 1</div> <div class="left">Value 1</di
.block
的末尾添加
?尝试在上使用溢出:隐藏。block
我知道这有时会解决问题。您可以这样做:
<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>
br{clear:两者;}
标题2
价值2
第二个选项是:@animuson comment
<style>
br {clear:both;}
</style>
<div class="block">
<div class="left">Title 2</div>
<div class="left">Value 2</div>
</div>
<br/>
.container br{clear:两者;}
标题2
价值2
此问题有两种常见的解决方案
将overflow:hidden
添加到浮动元素的父元素(因此在本例中,.block
)
使用“clearfix”:
这里有更多信息:
使用清除的好时机:当您已经有一个元素可添加到其中时,这两个
例如,带页脚的浮动列的常见情况是:您根本不需要
div。只需在block div上清除:两个
例如:
CSS
HTML
标题1
值1
标题2
价值2
编辑:添加代码您是否尝试过在{clear:tweet}
之后使用类似的.block:after?我从来没有尝试过使用before或after选择器,因此我不知道它们是如何工作的。不过,您确实应该为中断使用类名,因此它不适用于文档中的所有中断。但是如果你这样做,它与OP的例子没有什么不同。是的,这就是为什么我在元素级别+1上这样做:使用overflow:hidden
强制浮动保持在块元素中<代码>清除
对于作业来说是错误的工具。@Søren Løvborg为什么清除
对于作业来说是错误的?学习经验的真正问题。@Eonasdan:这是可行的,但还有更干净的选择<代码>溢出:隐藏
仅涉及添加<代码>溢出:对CSS隐藏
,这比在HTML中添加一个额外的元素来清除浮动更干净。而clearfix只涉及在HTML中添加一个额外的类,这也比添加一个额外的元素更干净。啊。我真不敢相信我爬上了山,却发现圣人在他的电脑上发帖,所以clear
真的是用于h1
之类的元素,例如,在长文本中的新章节之前,让浮动的数字消失<代码>溢出:隐藏
明确表示“我希望浮动保持在此框内”<如果您有额外的浮动元素(例如菜单),代码>清除也会导致问题,尽管有解决办法,溢出:隐藏
可以让您更好地控制结果。这也是我最初的想法。不过还没有测试过。
<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>
.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; }
<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>