IE67都能识别*;标准浏览器(如FF)不能识别*;IE6能识别*,也能识别 !important, 也能识别"_"IE7能识别*,也能识别!important;FF不能识别*,但能识别!important;
下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。
于是大家还可以这样来区分IE6,IE7,firefox:
background:orange;*background:green;_background:blue;
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。
经亲测
"_"为ie6专用
"*"为ie6,ie7所专用
"!important"
定义的样式, ie6也能识别,但存在BUG[Internet Explorer 6 (IE 6)中书写CSS时,当同一个属性多次出现在一个大括号
({})时,最后一条规则起作用,也就是!important被忽视;当同一个属性多次出现在不同的大括号中时,以!important属性的优先级最
高。], 所以不建议使用这个作为区分标准;
IE8专用:
属性 \0:值;如
.tbBordForIE8Below{border:1px solid white;border-bottom:none\0;}
\9:所有IE浏览器都识别(IE6 IE7 IE8 IE9 )
\9\0: 仅IE9
以上方法除"!important"为W3C标准外,其余全为“暴力兼容”,不能通过W3C CSS验证,下面是符合W3C的兼容方法:
IE7 独有hack写法
*+html #demo{
color :green;
}
* html#demo {
color :blue;
} /* IE6独有HACK,只有IE6可以理解,后复盖前,所以IE6会使用这个样式 */