区别不同浏览器,CSS hack写法,从网上看到很多文章,现总结一下,尽量全面一点,备查。
注意下面介绍的这些hack写法仅适用于XHTML1.0。如果没有在HTML最前加上

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

那么效果将不一样!此外,这里所说的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:/*\**/#00f\9; /* IE8 only */
    color:#00f\9; /* 适用于所有IE版本 */
}

可同时区分IE8、IE7、IE6、Firefox的CSS hacks:
.test{
    color:#000; /* Firefox */
    color:/*\**/#00f\9; /* IE8 */
    *color:#f00; /* IE7 */
    _color:#0f0; /* IE6 */
}

Ie6 支持(_)    _color:red;

ie7 支持(+)   +color:blue;

ie8 支持(/*\**/....\9)   /*\**/color:black\9;

 

ie6支持 _                    ie7 ie8不支持_

_color:red;                color:blue;

ie6  ie7  *                  ie8不支持*
*color:red;                color:blue;