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
以下是補充:上面要先看
1、終極方法:條件注釋
<!–[if lte IE 6]> 這段文字僅顯示在 IE6及IE6以下版本。 <![endif]–>
<!–[if gte IE 6]> 這段文字僅顯示在 IE6及IE6以上版本。 <![endif]–>
<!–[if gt IE 6]> 這段文字僅顯示在 IE6以上版本(不包含IE6)。 <![endif]–>
<!–[if IE 5.5]> 這段文字僅顯示在 IE5.5。 <![endif]–>
<!–在 IE6及IE6以下版本中加載css–>
<!–[if lte IE 6]> <link type="text/css" rel="stylesheet" href="css/ie6.css" mce_href="css/ie6.css" /><![endif]–>
缺點是在IE瀏覽器下可能會增加額外的HTTP請求數。
新聞熱點
疑難解答