溢出:在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规则。

链接地址: http://www.djcxy.com/p/15555.html

上一篇: overflow:auto adding scrollbars in Chrome, IE

下一篇: What methods of ‘clearfix’ can I use?