2010-05-28 88 views
5

0问题clear: both我的内容我用这个:DIV高度:在IE

CSS:

.clr { 
    clear: both; 
    height: 0; /* i have tried 0.001em to */ 
    line-height: .001em; 
    overflow: hidden; 
} 

HTML:

<div class="clr">&nbsp;</div> 

它完美的作品在每一个导航仪。但在IE 7 & 8 div仍然有几个像素的高度。我怎样才能避免这种情况?

+0

可能复制http://stackoverflow.com/questions/950829/div-height0px-does-not-的工作 – Jujjuru 2010-05-28 07:41:03

+0

没有它没有。我的溢出已经隐藏,我的lineheight设置为 – meo 2010-05-28 07:54:34

回答

8

这是一个IE字体问题。

添加

font-size: 0; 

到你的CSS声明

+0

thx。这是问题所在 – meo 2010-05-28 07:53:44

0

使用空的DIV来帮助演示通常是不好的做法。您可能会考虑更改要清除的元素的CSS。很多时间清除可以用inline-block来代替。请参阅http://google.co.uk/notebook/public/06909424369135510368/BDROpQwoQ4-fhwfsj#SDRZLQgoQtfHkwfsj

+0

我知道这是一个不好的做法,我没有做过的网站,我只需要解决这个问题。 – meo 2010-05-28 07:52:30

+0

够公平的,我知道那痛苦太好了。 – kim3er 2010-05-28 08:04:19

4

对面这个未来和Ben给出的答案是有道理的,但它在2011年的十二月是不完整的IE 7(传统支持就必须这样。

font-size:0;是一个好开始,但最初并没有为我做。

沿着这一思路,你需要谨慎线高。如果您在DOM中将线高设置得更高,可能是由于这些东西的性质,它会被继承(就像发生在我身上一样)

如果您已经在父级上设置了行高,请务必设置它明确地对孩子,你要使用强制清:

font-size:0; 
line-height:0; 

-Brandt