溢出:在Chrome,IE中自动添加滚动条
我用来添加<div style='clear:both'></div>
清除从之前段浮动,但有人建议我应该使用overflow:auto
上<div>
用浮漂,而不是因为它更简单,更干净。
问题是,我收到报告,我的网站中有一些奇怪的“阴影”。 经过调查,事实证明它发生在Chrome中,而不是Firefox中,而这些“阴影”实际上是非常小的滚动条。
我试图在这个jsfiddle.net/57HM3/4/中将部件减少到最小。 注意它们远离权利(通过它说'结果'的地方)。 这似乎与行高有关,如果我将它设置为1.2而不是1.1,它会消失。 这是一些已知的问题(我不知道)?
我知道还有其他方法可以清除它们,但它们涉及IE特定的代码,而不是。 我想保持原样,只需将浮动块的div设置为溢出:auto(如果这不起作用,我宁愿回到我添加额外的<div>
添加overflow:hidden
而不是。 这将清除你的两个并不会添加任何滚动
不要沾满水。 我建议使用“clearfix”解决方案。 下面是我使用的内容,从每个项目的开始,我将它放在所有样式表的顶部:
/* CLEAR-FIX */
.clearfix:after {
visibility: hidden; display: block; font-size: 0;
content: " "; clear: both; height: 0;
}
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
......很久以前,我忘记了博客在哪里,我不记得在哪里。
任何需要与浮动增长的容器只需要添加“clearfix”类:
<div class="test" class="clearfix">
<div style="float:left">Hello</div>
<div style="float:left">World</div>
</div>
顺便说一句,如果你想知道为什么CSS是浮动通常不被计算为父母身高的一部分,请参阅:为什么浮动元素的非浮动父母会崩溃?
如果要为容器div
保留overflow:auto
规则,则可以尝试从.test
类中删除line-height
规则。