1777浏覽量

IE6中(zhōng)的常見BUG與相應的解決辦法

來源: 時間:2014-05-20

一(yī)、IE6雙倍邊距bug

當頁面上的元素使用float浮動時,不管是向左還是向右浮動;隻要該元素帶有margin像素都會使該值乘以2,例如“margin-left:10px” 在IE6中(zhōng),該值就會被解析爲20px。想要解決這個BUG就需要在該元素中(zhōng)加入display:inline 或 display:block 明确其元素類型即可解決雙倍邊距的BUG

二、IE6中(zhōng)3像素問題及解決辦法

當元素使用float浮動後,元素與相鄰的元素之間會産生(shēng)3px的間隙。詭異的是如果右側的容器沒設置高度時3px的間隙在相鄰容器的内部,當設定高度後又(yòu)跑到容器的相反側了。要解決這類BUG的話(huà),需要使布局在同一(yī)行的元素都加上float浮動。

三、IE6中(zhōng)奇數寬高的BUG

IE6中(zhōng)奇數的高寬顯示大(dà)小(xiǎo)與偶數高寬顯示大(dà)小(xiǎo)存在一(yī)定的不同。其中(zhōng)要問題是出在奇數高寬上。要解決此類問題,隻需要盡量将外(wài)部定位的div高寬寫成偶數即可。

四、IE6中(zhōng)圖片鏈接的下(xià)方有間隙

IE6中(zhōng)圖片的下(xià)方會存在一(yī)定的間隙,尤其在圖片垂直挨着圖片的時候,即可看到這樣的間隙。要解決此類問題,需要将img标簽定義爲display:block 或定義vertical-align對應的屬性。也可以爲img對應的樣式寫入font-size:0

五、IE6下(xià)空元素的高度BUG

如果一(yī)個元素中(zhōng)沒有任何内容,當在樣式中(zhōng)爲這個元素設置了0-19px之間的高度時。此元素的高度始終爲19px。

解決的方法有四種:

1.在元素的css中(zhōng)加入:overflow:hidden

2.在元素中(zhōng)插入html注釋:

3.在元素中(zhōng)插入html的空白(bái)符: 

4.在元素的css中(zhōng)加入:font-size:0

六、重複文字的BUG

在某些比較複雜(zá)的排版中(zhōng),有時候浮動元素的最後一(yī)些字符會出現在clear清除元素的下(xià)面。

解決方法如下(xià):

1.确保元素都帶有display:inline

2.在最後一(yī)個元素上使用“margin-right:-3px

3.爲浮動元素的最後一(yī)個條目加上條件注釋,xxx

4.在容器的最後元素使用一(yī)個空白(bái)的div,爲這個div指定不超過容器的寬度。

七、IE6中(zhōng) z-index失效

具體(tǐ)BUG爲,元素的父級元素設置的z-index爲1,那麽其子級元素再設置z-index時會失效,其層級會繼承父級元素的設置,造成某些層級調整上的BUG。詳細解釋可以閱讀IE6中(zhōng)部分(fēn)情況下(xià)z-index無效的原因,以及解決辦法

結語:實際上IE6中(zhōng),很多BUG的解決方法都可以使用display:inline、font-size:0、float解決。因此我(wǒ)們在書(shū)寫代碼時要記住,一(yī)旦使用了float浮動,就爲元素增加一(yī)個display:inline樣式,可以有效的避免浮動造成的樣式錯亂問題。使用空DIV時,爲了避免其高度影響布局美觀,也可以爲其加上font-size:0 這樣就很容易避免一(yī)些兼容上的問題。

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層