兼容不同浏览器的csshack写法
2016-06-20来源:

所谓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核心浏览器不能,文字呈蓝色。

推荐信息
Baidu
map