資源描述:
《ie與firefox的css兼容大全》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、IE與Firefox的CSS兼容大全CSS對(duì)瀏覽器器的兼容性具有很高的價(jià)值,通常情況下IE和Firefox存在很大的解析差異,這里介紹一下兼容要點(diǎn)。php程序員站 常見(jiàn)兼容問(wèn)題: 1.DOCTYPE影響CSS處理 2.FF:div設(shè)置margin-left,margin-right為auto時(shí)已經(jīng)居中,IE不行 3.FF:body設(shè)置text-align時(shí),div需要設(shè)置margin:auto(主要是margin-left,margin-right)方可居中phperz.com 4.FF:設(shè)置padding后,div會(huì)增加height和w
2、idth,但I(xiàn)E不會(huì),故需要用!important多設(shè)一個(gè)height和width 5.FF:支持!important,IE則忽略,可用!important為FF特別設(shè)置樣式phperz.com 6.div的垂直居中問(wèn)題:vertical-align:middle;將行距增加到和整個(gè)DIV一樣高line-height:200px;然后插入文字,就垂直居中了。缺點(diǎn)是要控制內(nèi)容不要換行 7.cursor:pointer可以同時(shí)在IEFF中顯示游標(biāo)手指狀,hand僅IE可以 8.FF:鏈接加邊框和背景色,需設(shè)置display:block,同時(shí)設(shè)置
3、float:left保證不換行。參照menubar,給a和menubar設(shè)置高度是為了避免底邊顯示錯(cuò)位,若不設(shè)height,可以在menubar中插入一個(gè)空格。 9.在mozillafirefox和IE中的BOX模型解釋不一致導(dǎo)致相差2px解決方法:div{margin:30px!important;margin:28px;} 注意這兩個(gè)margin的順序一定不能寫(xiě)反,據(jù)阿捷的說(shuō)法!important這個(gè)屬性IE不能識(shí)別,但別的瀏覽器可以識(shí)別。所以在IE下其實(shí)解釋成這樣:div{maring:30px;margin:28px} 重復(fù)定義的話按
4、照最后一個(gè)來(lái)執(zhí)行,所以不可以只寫(xiě)margin:XXpx!important; 10.IE5和IE6的BOX解釋不一致 IE5下div{width:300px;margin:010px010px;} div的寬度會(huì)被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在IE6和其他瀏覽器上寬度則是以300px+10px(右填充)+10px(左填充)=320px來(lái)計(jì)算的。這時(shí)我們可以做如下修改div{width:300px!important;width/**/:340px;margin:010px010px}
5、 關(guān)于這個(gè)/**/是什么我也不太明白,只知道IE5和firefox都支持但I(xiàn)E6不支持,如果有人理解的話,請(qǐng)告訴我一聲,謝了?。海 ?1.ul標(biāo)簽在Mozilla中默認(rèn)是有padding值的,而在IE中只有margin有值所以先定義ul{margin:0;padding:0;} 就能解決大部分問(wèn)題 注意事項(xiàng):www.phperz.com 1、float的div一定要閉合。php程序員站 例如:(其中floatA、floatB的屬性已經(jīng)設(shè)置為float:left;)<#divid="floatA">#div><#divid="floa
6、tB">#div><#divid="NOTfloatC">#div> 這里的NOTfloatC并不希望繼續(xù)平移,而是希望往下排。 這段代碼在IE中毫無(wú)問(wèn)題,問(wèn)題出在FF。原因是NOTfloatC并非float標(biāo)簽,必須將float標(biāo)簽閉合。 在<#divclass="floatB">#div><#divclass="NOTfloatC">#div> 之間加上<#divclass="clear">#div> 這個(gè)div一定要注意聲明位置,一定要放在最恰當(dāng)?shù)牡胤?,而且必須與兩個(gè)具有float屬性的div同級(jí),之間不能存在嵌
7、套關(guān)系,否則會(huì)產(chǎn)生異常?! 〔⑶覍lear這種樣式定義為為如下即可:.clear{clear:both;} 此外,為了讓高度能自動(dòng)適應(yīng),要在wrapper里面加上overflow:hidden; 當(dāng)包含float的box的時(shí)候,高度自動(dòng)適應(yīng)在IE下無(wú)效,這時(shí)候應(yīng)該觸發(fā)IE的layout私有屬性(萬(wàn)惡的IE?。?用zoom:1;可以做到,這樣就達(dá)到了兼容?! ±缒骋粋€(gè)wrapper如下定義:.colwrapper{overflow:hidden;phperz.comzoom:1;margin:5pxauto;}phperz.com 2、ma
8、rgin加倍的問(wèn)題?! ≡O(shè)置為float的div在ie下設(shè)置的margin會(huì)加倍。這是一個(gè)ie6都存在的bug?! 〗鉀Q方