完美實(shí)現(xiàn)IE6 IE7 Firefox兼容的通用方法
本文和大家重點(diǎn)討論一下完美兼容IE6/IE7/Firefox的通用方法,相信通過(guò)本文的介紹你對(duì)這些方法一定會(huì)有深刻的認(rèn)識(shí)。
完美兼容IE6/IE7/Firefox的通用方法
關(guān)于CSS對(duì)各個(gè)瀏覽器兼容已經(jīng)是老生常談的問(wèn)題了,網(wǎng)絡(luò)上的教程遍地都是。以下內(nèi)容沒(méi)有太多新穎,純屬個(gè)人總結(jié),希望能對(duì)初學(xué)者有一定的幫助。
一、CSSHACK
以下兩種方法幾乎能解決現(xiàn)今所有HACK.
1,!important
隨著IE7對(duì)!important的支持,!important方法現(xiàn)在只針對(duì)IE6的HACK.(注意寫(xiě)法.記得該聲明位置需要提前.)
- <style>
- #wrapper
- {
- width:100px!important;/*IE7+Firefox*/
- width:80px;/*IE6*/
- }
- </style>
2,IE6/IE77對(duì)FireFox
*+html與*html是IE特有的標(biāo)簽,firefox暫不支持.而*+html又為IE7特有標(biāo)簽.
- <style>
- #wrapper
- {
- #wrapper{width:120px;}/*FireFox*/
- *html#wrapper{width:80px;}/*ie6fixed*/
- *+html#wrapper{width:60px;}/*ie7fixed,注意順序*/
- }
- </style>
注意:
*+html對(duì)IE7的HACK必須保證HTML頂部有如下聲明:
- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
二、萬(wàn)能float閉合(非常重要!)
關(guān)于clearfloat的原理可參見(jiàn)[HowToClearFloatsWithoutStructuralMarkup]
將以下代碼加入GlobalCSS中,給需要閉合的div加上class="clearfix"即可,屢試不爽.
- <style>
- /*ClearFix*/
- .clearfix:after
- {
- content:".";
- display:block;
- height:0;
- clear:both;
- visibility:hidden;
- }
- .clearfix
- {
- display:inline-block;
- }
- /*HidefromIEMac*/
- .clearfix{display:block;}
- /*EndhidefromIEMac*/
- /*endofclearfix*/
- </style>
三、其他兼容技巧
1,Firefox下給div設(shè)置padding后會(huì)導(dǎo)致width和height增加,但I(xiàn)E不會(huì).(可用!important解決)
2,居中問(wèn)題.
1).垂直居中.將line-height設(shè)置為當(dāng)前div相同的高度,再通過(guò)vertical-align:middle.(注意內(nèi)容不要換行.)
2).水平居中.margin:0auto;(當(dāng)然不是萬(wàn)能)
3,若需給a標(biāo)簽內(nèi)內(nèi)容加上樣式,需要設(shè)置display:block;(常見(jiàn)于導(dǎo)航標(biāo)簽)
4,Firefox和IE對(duì)BOX理解的差異導(dǎo)致相差2px的還有設(shè)為float的div在ie下margin加倍等問(wèn)題.
5,ul標(biāo)簽在Firefox下面默認(rèn)有l(wèi)ist-style和padding.最好事先聲明,以避免不必要的麻煩.(常見(jiàn)于導(dǎo)航標(biāo)簽和內(nèi)容列表)
6,作為外部wrapper的div不要定死高度,最好還加上overflow:hidden.以達(dá)到高度自適應(yīng).
7,關(guān)于手形光標(biāo).cursor:pointer.而hand只適用于IE.
本篇文章來(lái)自<A>IDC專(zhuān)家網(wǎng)</a>原文鏈接:http://www.soidc.net/articles/1213781627945/20070419/1214037410899_1.html
【編輯推薦】
- IE7和IE8的CSS樣式八大差異
- 微軟展示IE9瀏覽器 力推IE8將取代IE6市場(chǎng)
- 探究IE和Firefox下的2款HTTP調(diào)試工具用法
- Firefox和IE瀏覽器清除緩存方法揭秘
- 實(shí)現(xiàn)IE6、IE7、IE8多版本瀏覽器共存的五種方法