瀏覽器的兼容性問題,通常是因?yàn)椴煌臑g覽器對同一段代碼有不同的解析,造成頁面顯示不統(tǒng)一的情況椎侠。
1.最主要也是最常見的,就是瀏覽器對標(biāo)簽的默認(rèn)樣式的解析不一致措拇,所以我們要統(tǒng)一我纪,就要進(jìn)行樣式重置,最簡單的初始化方法是
*{margin:0; padding:0;}
2.上下margin重合問題丐吓,相鄰的兩個div margin-left margin-right 不會重合浅悉,但相鄰的margin-top margin-bottom會重合。
解決方法:
(1)margin改為padding
(2)絕對定位position:absolute;
3.有些瀏覽器解析img標(biāo)簽也有不同券犁,img是行內(nèi)元素术健,一般都會緊接著排放,但是在有些情況下還是會突然出現(xiàn)個間距粘衬,解決辦法是給它來個浮動 float
4.標(biāo)簽屬性min-height是不兼容的荞估,所以使用的時候也要稍微改改。
.box{min-height:100px;height:auto !important; height:100px; overflow:visible;}
5.很多時候可能會納悶超鏈接訪問過后稚新,樣式就混亂了勘伺,hover樣式不出現(xiàn)了。其實(shí)主要是其CSS屬性的排序問題枷莉。一般來說,最好按照這個順序:L-V-H-A
a:link{} a:visited{} a:hover{} a:active{}
6.chrome下默認(rèn)會將小于12px的文本強(qiáng)制按照12px來解析尺迂。解決辦法是給其添加屬性:
-webkit-text-size-adjust: none;
7.因?yàn)榇嬖趦煞N盒子模式:IE盒子模式和W3C標(biāo)準(zhǔn)模式笤妙,所以對象的實(shí)際寬度也要注意冒掌。
IE/Opera:對象的實(shí)際寬度 = (margin-left) + width + (margin-right)
Firefox/Mozilla:對象的實(shí)際寬度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right)
8.鼠標(biāo)的手勢也有問題:FireFox的cursor屬性不支持hand,但是支持pointer蹲盘,IE兩個都支持股毫;所以為了兼容都用pointer
9.消除ul、ol等列表的縮進(jìn)時召衔,樣式應(yīng)寫成:list-style:none;margin:0px;padding:0px; 其中margin屬性對IE有效铃诬,padding屬性對FireFox有效
10.CSS控制透明度問題:一般就直接 opacity: 0.6 ; IE就 filter: alpha(opacity=60);
10.有些時候圖片下方會出現(xiàn)一條間隙,一般給img添加vertical-align屬性即可苍凛,比如top middle img{verticle-align:center;}