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;
原因:未加文檔聲明造成非盒模型解析
解決方法:加入文檔聲明<!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;