ie6下常見的bug
我們布局頁面,首先符合標准,如何寫一個頁面的標准性? 但是ie6等瀏覽器本身就比較特殊,bug比較多,兵法雲,知己知彼百戰百勝。我們需要了解ie6的一些常見bug,這樣,更好的調試兼容性,下面小強老師就把一些常見的ie6bug列出來,大家去研究下。
考慮結構的穩定性
最常見的問題就是網頁元素位置混亂,錯位。
1.1.1.DOCTYPE 必須有
必需在開頭處使用<!DOCTYPE>標記為所有的XHTML文檔指定XHTML版本和類型,只有這樣瀏覽器才能將該網頁作為有效的XHTML文檔,並按指定的文檔類型進行解析。
<!DOCTYPE> 標記和瀏覽器的兼容性相關,刪除<!DOCTYPE>,就是把如何展示HTML頁面的權利交給瀏覽器,這 時,IE6,IE7,IE8,Firefox2,Firefox3,Chrome,有多少種瀏覽器,頁面就有可能有多少中顯示效果,這是不被允許的。
1.1.2margin加倍的問題
浮動 margin 但是可能會出現
出現這個問題一般要同時滿足兩個條件:
盒子要有浮動,在一個就是要要margin,符合這兩個條件,一般在ie6下面會出現 雙倍邊距的問題。
解決方法:
_display:inline;
1.1.3 IE6圖片底側會有像素間隙問題
這個問題啊,再火狐瀏覽器,也可能出現哦!
1將img標記與/div標記放在同一行
<div><img src="images/jd.gif" /></div>
但是這樣寫不太方便閱讀,我們知道代碼的可讀性是最為重要的。
所以建議用第二種方法
2.在CSS樣式中給img上設置display:block;屬性,將圖片設為塊元素下面代碼。
img{display:block;}
3.浮動
1.1.4 IE6下元素最小高度的問題
在IE6下面,如果想給把元素例如div設置成19像素左右以下的高度設置不了。這是因為IE6瀏覽器里面有個默認的高度
iE6下這個問題是因為默認的行高造成的,解決的技巧也有很多,例如:overflow:hidden font-size:0;
1.1.5 ie6下面引起多余字符
兩個浮動的盒子之間加html注釋 會引起多余字符的問題。
解決方法:
1. 刪除注釋
2.如果可以不給指定寬度
3. 在文字最后面多打一個空格
4.給這個盒子加定位。
.two{width:100px; float:left; position:relative;}
1.1.6 IE6下文字混排浮動3像素間距BUG
有時候,圖片浮動后,文字環繞着有個3像素的距離。
解決方法:
_margin-right:-3px;
1.1.7 IE6下li里底部3像素間距BUG
如果li里面內容過於復雜,那么li和li之間就出現3像素白空隙。 很困擾哦
解決方法:
vertical-align: middle bottom等
1.1.8 IE6中奇數寬高的BUG
我們盡量把盒子的高度和寬度設為偶數(定位的影響)
1.1.9了解ie6盒子會撐高的特性
內容有多大,盒子就撐多大
其他瀏覽器也像ie6這樣:height:auto!important; 高度自適應
!important 為了提權 在所有里面它的權重最高。
ie7及其以上的ie版本 還有非ie瀏覽器都能識別。