2010-05-28 91 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