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的写在后面。