CSS相容性一直是大家頭疼的問題,現在說說如何區分這幾個瀏覽器,IE6、IE7、IE8和FF,IE8均指IE8正式版,版本號碼:8.0.6001.18702。
以顏色為例來說如何區分這幾個瀏覽器:
.csshack{
color:#f00; /*firefox等對css支援好的瀏覽器 顯示為紅色*/
color:#00f\9; /*IE8可識別 覆蓋上面規則 顯示為藍色*/
*color:#0f0!important; /*IE7可識別 覆蓋上面規則 顯示為綠色*/
*color:#000;/*_color:#000;*/ /*IE6可識別 覆蓋上面規則 顯示為黑色*/
}
這裡的"\9"可以區別所有IE和FireFox.
"*" IE6、IE7可以識別.IE8、FireFox不能.
"_" IE6可以識別"_",IE7、IE8、FireFox不能.
IE7、IE8都可識別!important。
如此,就可以完全區分開IE6、IE7、IE8、FireFox了.
不過這裡要注意書寫的順序:現在瀏覽器的寫法要寫在最前面,IE6的寫法要寫在最後面用於覆蓋,其他瀏覽器寫在中間。
區別IE6與FF: background:orange;*background:blue;
區別IE6與IE7: background:green !important;background:blue;
區別IE7與FF: background:orange; *background:green;
區別FF/IE7/IE6: background:orange;*background:green !important;*background:blue;
註:IE都能識別*標準瀏覽器(如FF)不能識別*
IE6能識別*,但不能識別 !important
IE7能識別*,也能識別!important
FF不能識別*,但能識別!important
IE6支援底線,IE7和firefox均不支援底線。
於是大家還可以這樣來區分IE6、IE7、firefox
: background:orange;*background:green;_background:blue;
* html p {color:#f00;} 支援 IE6 不支援FF IE7 IE8b
*+html p {color:#f00;} 支援 IE7 IE8b 不支援FF IE6
p {*color:#f00;} 支援 IE7 IE6 不支援FF IE8
註:不管是什麼方法,書寫的順序都是firefox的寫在前面,IE7的寫在中間,IE6的寫在後面
轉自毛毛http://www.yihuan.cc/trackback.asp?tbID=53&action=addtb&tbKey=4b60f519832124e44d22e421ff4ba3ba720af645