|
之前一段時間系統(tǒng)的學(xué)習(xí)了div+css之后,給公司的網(wǎng)站進(jìn)行了div化,沾沾自喜之余感嘆著自己的進(jìn)步。但第二天老板跑過來問我,網(wǎng)站是不是還沒更新好啊,怎么有那么多空白?。∥掖蜷_看,沒有啊,無奈之下用ietest測試了一下,原來ie6下還真的有大片空白域。百思不得其解的我從html到css用之前學(xué)的知識整個分析了一遍,居然沒發(fā)現(xiàn)任何問題。 IE6雙倍邊距bug解決方法2011.5.30號引用博客:http://blog.csdn.net/twosecond/archive/2009/06/24/4295879.aspx
前言:IE6雙倍邊距這個問題其實(shí)早在學(xué)習(xí)CSS之初都已經(jīng)知道如何解決,但當(dāng)時只知道如何解決而并不知道引起這個BUG的原因是什么,再接下來工作過程中不斷實(shí)踐也終于明白是怎么回事了。但最近開發(fā)項(xiàng)目逐漸轉(zhuǎn)移到以IE7為IE的基礎(chǔ)參考標(biāo)準(zhǔn)后,逐漸有點(diǎn)淡忘IE6下的一些詭異BUG的解決方案了,就是知道如何解決也忘了部分理論知識了。 2、解決辦法:當(dāng)將其display屬性設(shè)置為inline時問題就都解決了。
3、說明:這是因?yàn)閴K級對象默認(rèn)的display屬性值是block,當(dāng)設(shè)置了浮動的同時,還設(shè)置了它的外邊距就會出現(xiàn)這種情況。也許你會問:“為什么第二個對象和第一個對象之間就不存在雙倍邊距的BUG”?因?yàn)楦佣加衅湎鄬?yīng)的對象,只有相對于其父對象的浮動對象才會出現(xiàn)這樣的問題。第一個對象是相對父對象的,而第二個對象是相對第一個對象的,所以第二個對象在設(shè)置后不會出現(xiàn)問題。另外在一些特殊布局中,可能需要組合使用display:block;和display:inline;才能達(dá)到預(yù)期效果。 4、總結(jié):這個現(xiàn)象僅當(dāng)塊級對象設(shè)置了浮動屬性后才會出現(xiàn),內(nèi)聯(lián)對象(行級對象)不會出現(xiàn)此問題。并且只有設(shè)置左邊距和右邊距的值才會出問題,上下邊距不會出現(xiàn)問題。 |
|
|