IE6 hack
_background-color:#CDCDCD; /* ie 6*/
IE7 hack
*background-color:#dddd00; /* ie 7*/
IE8 hack
background-color:red \0; /* ie 8/9*/
IE9 hack
background-color:blue \9\0;
浏览器优先级别:FF<IE7<IE6,CSS hack书写顺序一般为FF IE7 IE6
以: " #demo {100px;} "为例;
#demo {100px;} /*被FIREFOX,IE6,IE7执行.*/
* html #demo {120px;} /*会被IE6执行,之前的定义会被后来的覆盖,所以#demo的宽度在IE6就为120px; */
*+html #demo {130px;} /*会被IE7执行*/
所以最后,#demo的宽度在三个浏览器的解释为: FIREFOX:100px; ie6:120px; ie7:130px;
IE8 最新css hack:
"\9" 例:"border:1px \9;".这里的"\9"可以区别所有IE和FireFox.
"\0" IE8识别,IE6、IE7不能.
"*" IE6、IE7可以识别.IE8、FireFox不能.
"_" IE6可以识别"_",IE7、IE8、FireFox不能.
.ie{ color:red; /* for all browsers*/ _color:green; /* hack for IE6*/ *color:black; /* hack for IE6 IE7*/ color:white\9; /* hack for IE6+(IE6 IE7 IE8 IE9 IE10) */ color:yellow\0; /* hack for IE8+(IE8 IE9 IE10)*/ color:orange\9\0; /* hack for IE9+(IE9 IE10)*/ }
test { color:red\9\0; /* ie9 */
}