区别不同浏览器,CSS hack写法,从网上看到很多文章,现总结一下,尽量全面一点,备查。
注意下面介绍的这些hack写法仅适用于XHTML1.0。如果没有在HTML最前加上
那么效果将不一样!此外,这里所说的IE8,不是指IE8的兼容模式,因为IE8的兼容模式其实就是IE7。
区别IE6、7与FF/IE8:
background:blue;*background:orange;
IE 6/7:orange
FF/IE8:blue
原理:FF/IE8不支持*开头,而IE6/7都支持。
区别IE6与IE7/IE8/FF:
background:green;_background:blue;
IE7/8/FF:green
IE6:blue
原理:IE6支持下划线"_",IE7、8和firefox均不支持下划线。
区别FF/IE8和IE6/7:
background:orange;+background:green;-background:blue;
或者
background:orange;*background:green!important;*background:blue;
IE6:blue
IE7:green
FF/IE8:orange
原理:IE6能识别-,IE7能识别+,IE8和FF都不能识别+和-
IE8/FF都不识别*,IE7优先识别!important,IE6不能识别!important。
关于IE8的hacks:
.test{
color:/***/#00f9; /* IE8 only */
color:#00f9; /* 适用于所有IE版本 */
}
可同时区分IE8、IE7、IE6、Firefox的CSS hacks:
.test{
color:#000; /* Firefox */
color:/***/#00f9; /* IE8 */
*color:#f00; /* IE7 */
_color:#0f0; /* IE6 */
}
Ie6 支持(_) _color:red;
ie7 支持(+) +color:blue;
ie8 支持(/***/....9) /***/color:black9;
ie6支持 _ ie7 ie8不支持_
_color:red; color:blue;
ie6 ie7 * ie8不支持*
*color:red; color:blue;