所谓CSSHack,是指在CSS代码中嵌入诸如*,*html 等代码,方便于独立控制某种浏览器的具体样式。比如有些CSSHack只能被IE6或IE7识别,而Firefox等浏览器则不能识别。这样一来可以有效控制CSS在不同浏览器的表现,避免撰写多个CSS文件。
在这里大致整理了常用CSSHack的写法,帮助你更好地控制页面呈现:
1.*符号
IE浏览器能识别*符号,但其他浏览器诸如Firefox、Opera、Chrome等不能识别*符号。
例:在Firefox和IE中呈现不同的文字颜色:
color:red;*color:blue;
//在Firefox等非IE核心浏览器中,文字呈现红色;而IE中呈现蓝色。
2.!important
IE7不但能识别*符号,还能识别!important,而IE6只能识别前者。
例:在IE6和IE7中呈现不同的文字颜色:
color:red!important;color:blue;
//在IE7浏览器中,文字呈现红色;而IE6中呈现蓝色。
综合1和2,利用上述浏览器特性,可在CSS中判别Firefox,IE7,IE6并加载不同样式。
例:在Firefox,IE7,IE6中呈现三种不同文字颜色:
color:blue;*color:red!important;*color:green;
//在Firefox中,文字呈现蓝色,在IE7浏览器中,呈现红色;而IE6中呈现蓝色。
4.*html和*+html
IE核心的浏览器能识别*html和*+html,而Firefox等非IE核心浏览器不能识别。
例:在Firefox,IE7,IE6中呈现三种不同文字颜色:
#div{color:red;}
*html#div{color:green;}
*+html#div{color:blue;}
//第一句Firefox等可以正常识别,所以这些浏览器中文字呈红色;
//第二句IE6能识别并执行,用于针对IE6独立写的样式,文字绿色;
//第三句只有IE7才能正确识别,而IE6和其他非IE核心浏览器不能,文字呈蓝色。
更多信息请查看IT技术专栏