2013-04-28 74 views
1

Firefox中的邊距設置發生了一些奇怪的事情,我有一個帶有頂部邊距爲20px的id「wrap」的div,當用戶登錄div時出現在wrap div上方與id爲user_nav我不希望任何邊緣高於這個div,但Firefox是一些未知的reaslon傳播頂部邊緣,我已經在包裝div上面的user_nav div,它不會在任何其他瀏覽器中發生。古怪的行爲,與Firefox的邊緣css

如果我從包裝div中刪除頂部邊距,它將從兩者中刪除。

我可以通過給user_nav div一個負的頂邊距來擺脫它,但是這會弄亂所有其他瀏覽器。

div#user_nav { 
width: 980px; 
margin: 0 auto; 
} 


div#wrap { 
width: 980px; 
margin: 20px auto 30px auto; 
} 

有關發生了什麼的任何想法?

感謝

羅布·芬威克

+1

你可以把你的代碼放在[jsFiddle](http://jsfiddle.net)中嗎? – Adrift 2013-04-28 20:13:52

+1

看到你的html也是非常有幫助的。正如@Adrift所說,js無法使用它! – Jeffpowrs 2013-04-28 20:26:56

+0

我不熟悉jsFiddle所以我希望這是你想要的http://jsfiddle.net/69aD9/我沒有所有的代碼只是HTML和CSS,但你可以看到在Firefox的行爲謝謝 – 2013-04-28 20:36:57

回答

1

這確實是古怪的行爲 - 這似乎是相關的結算塊元素(或它的很多,很多重複的一個),這個老的bug的影響之一:

https://bugzilla.mozilla.org/show_bug.cgi?id=451791

一種方法來解決它擺脫<div class="clear">的使用和結算,而不是(雖然這不是送花兒給人的溢流法可能有例如 - 很明顯 - 如果你有清除元素中的內容,將擴展外面):

http://www.quirksmode.org/css/clearing.html

即從內user_nav_frame刪除<div class="clear">和應用overflow: hidden(和width: 100%)給它的CSS,而不是清除花車:

div#user_nav_frame { 
    background-color: #0A4D84; 
    overflow: hidden; 
    width: 100%; 
} 

的jsfiddle:http://jsfiddle.net/69aD9/2/

有反黑客也一樣,如果這不會在你的情況制定出。看到上面的錯誤報告。

+0

那工作,是一個我不知道謝謝的新技巧!搶 – 2013-04-28 23:28:11