各浏览器之间
#element {
color:orange; /*all 浏览器*/
}
#element {
*color: white; /* IE6+7, doesn't work in IE8/9 as IE7 */
}
#element {
_color: red; /* IE6 */
}
#element {
color: green\0/IE8+9; /* IE8+9 */
}
:root #element { color:pink \0/IE9; } /* IE9 */
[color:#000000;color:#00FF00; /* SF,CH支持*/
由于各自的识别符有存在交集问题,因此如果存在交集的识别符的话,要放在前面,而不存在交集的识别符要放在后面!
以上顺序为
select {
background-color:red\0;
background-color:red\0/IE8+9;
/* ie 8/9*/
background-color:blue\9\0;
background-color:blue \0/IE9;
/* ie 9*/
*background-color:#dddd00; /* ie 7*/
_background-color:#CDCDCD; /* ie 6*/
}
或者单独为IE9浏览器建立CSS
:root #element { color:pink \0/IE9; } /* IE9 */
/* 所有IE浏览器(ie6+)支持;但是IE8不能识别“*”和“_”的css hack;所以我们可以这样写hack */
IE下,权限顺序依次为IE9
选择符。同时你也得注意 > 选择符对于其他浏览器同样是无效的。
/* IE 7 */
html > body #ie7
{*display:block;}
/* IE 6 */
body #ie6
{_display:block;}
CSS Hack 区分 Firefox
第一个使用了 body:empty 来区分 Firefox 1 和 2 。第二个 hack使用了全部Firefox 浏览器的专有扩展 -moz。 -moz 只对 Firefox有效,使用这个 Hack 大可不必担心其他浏览器的影响。
/* Firefox 1 - 2 */
body:empty #firefox12
{display:block;}
/* Firefox */
@-moz-document url-prefix()
{#firefox{display:block;}}
CSS Hack 区分 Safari
Safari 的 CSS hack 与 Firefox 的 hack 看起来很像,使用的是 Safari浏览器的专有扩展 -webkit 且只对 Safari 浏览器有效。
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio:0)
{#safari{display:block;}}
CSS Hack 区分 Opera
/* Opera */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)
{head~body #opera{display:block;}}
然后,全部合在一起便是
CSS Browser Hacks
我来自 Opera 7.2 - 9.5
我是神奇的 Safari
我来自Firefox
我是你爷爷 Firefox 1 - 2
我是囧 IE 7
我是脑瘸 IE 6