IE6常見bug

1、IE6怪異解析之padding與border算入寬高
原因:未加文檔聲明造成非盒模型解析
解決方法:加入文檔聲明<!doctype html>

2、IE6在塊元素、左右浮動、設定marin時造成margin雙倍(雙邊距)
解決方法:display:inline

3、以下三種其實是同一種bug,其實也不算是個bug,舉個例子:父標籤高度20,子標籤11,垂直居中,20-11=9,9要分給文字的上面與下面,怎麼分?IE6就會與其它的不同,所以,儘量避免。

1)字體大小爲奇數之邊框高度少1px
解決方法:字體大小設置爲偶數或line-height爲偶數 
2)line-height,文本垂直居中差1px
解決方法:padding-top代替line-height居中,或line-height加1或減1
3)與父標籤的寬度的奇偶不同的居中造成1px的偏離
解決方法:如果父標籤是奇數寬度,則子標籤也用奇數寬度;如果是父標籤偶數寬度,則子標籤也用偶數寬度

4、內部盒模型超出父級時,父級被撐大
解決方法:父標籤使用overflow:hidden;

5、line-height默認行高bug
解決方法:line-height設值

6、行標籤之間會有一小段空白
解決方法:float或結構並排(可讀性差,不建議)

7、標籤高度無法小於19px
解決方法:overflow: hidden;

8、左浮元素margin-bottom失效
解決方法:顯示設置高度 or 父標籤設置_padding-bottom代替子標籤的margin-bottom or 再放個標籤讓父標籤浮動,子標籤
margin- bottom,即(margin-bottom與float不同時作用於一個標籤)

9、img於塊元素中,底邊多出空白

解決方法:父級設置overflow: hidden; 或 img { display: block; } 或 _margin: -5px;

10、li之間會有間距
解決方法:float: left;

11、塊元素中有文字及右浮動的行元素,行元素換行
解決方法:將行元素置於塊元素內的文字前

12、position下的left,bottom錯位
解決方法:爲父級(relative層)設置寬高或添加*zoom:1;

13、子級中有設置position,則父級overflow失效
解決方法:爲父級設置position:relative;
發佈了52 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章