首先從普遍的,很容易遇到的,百度搜索和大神們整理得比較多的來(lái)。
ps:很多是在各大網(wǎng)站,各位前輩的博客啊什么的復(fù)制過(guò)來(lái)的,所以我只承認(rèn)我寫的費(fèi)話是原創(chuàng),其他的算是引用吧。
1.IE6怪異解析之padding與border算入寬高
原因:未加文檔聲明造成非盒模型解析
解決方法:加入文檔聲明<!DOCTYPE html>
這個(gè)問(wèn)題正常人都不會(huì)犯吧。。。
2.IE6在塊元素、左右浮動(dòng)、設(shè)定margin時(shí)造成margin雙倍(雙邊距)
解決方法:display:inline ;
3.以下三種其實(shí)是同一種bug,其實(shí)也不算是個(gè)bug,舉個(gè)例子:
父標(biāo)簽高度20,子標(biāo)簽11,垂直居中,20-11=9,9要分給文字的上面與下面,怎么分?
IE6就會(huì)與其它的不同,所以,盡量避免。
1)字體大小為奇數(shù)之邊框高度少1px 解決方法:字體大小設(shè)置為偶數(shù)或line-height為偶數(shù)
2)line-height,文本垂直居中差1px 解決方法:padding-top代替line-height居中,或line-height加1或減1
3)與父標(biāo)簽的寬度的奇偶不同的居中造成1px的偏離 解決方法:如果父標(biāo)簽是奇數(shù)寬度,則子標(biāo)簽也用奇數(shù)寬度;如果是父標(biāo)簽偶數(shù)寬度,則子標(biāo)簽也用偶數(shù)寬度
4.內(nèi)部盒模型超出父級(jí)時(shí),父級(jí)被撐大
解決方法:父標(biāo)簽使用overflow:hidden
5、line-height默認(rèn)行高bug
解決方法:line-height設(shè)值
6、行標(biāo)簽之間會(huì)有一小段空白
解決方法:float或結(jié)構(gòu)并排(可讀性差,不建議)
7、標(biāo)簽高度無(wú)法小于19px
解決方法:overflow: hidden;
8、左浮元素margin-bottom失效
解決方法:顯示設(shè)置高度 or 父標(biāo)簽設(shè)置_padding-bottom代替子標(biāo)簽的margin-bottom or 再放個(gè)標(biāo)簽讓父標(biāo)簽浮動(dòng),子標(biāo)簽 margin- bottom,即(margin-bottom與float不同時(shí)作用于一個(gè)標(biāo)簽)
9、img于塊元素中,底邊多出空白
解決方法:父級(jí)設(shè)置overflow: hidden; 或 img { display: block; } 或 _margin: -5px;
10、li之間會(huì)有間距
解決方法:float: left;
11、塊元素中有文字及右浮動(dòng)的行元素,行元素?fù)Q行
解決方法:將行元素置于塊元素內(nèi)的文字前
12、position下的left,bottom錯(cuò)位
解決方法:為父級(jí)(relative層)設(shè)置寬高或添加*zoom:1 13、子級(jí)中有設(shè)置position,則父級(jí)overflow失效 解決方法:為父級(jí)設(shè)置position:relative
以下是補(bǔ)充:上面要先看
1、終極方法:條件注釋
缺點(diǎn)是在IE瀏覽器下可能會(huì)增加額外的HTTP請(qǐng)求數(shù)。