首页 > 代码库 > CSS Hack

CSS Hack

前面的话

  CSS Hack是实现浏览器样式兼容的兜底办法,能不用就尽量不要使用。但是,针对一些浏览器的bug,比如老版本IE的bug,有时使用CSS Hack是不得已而为之的做法。本文将详细介绍CSS Hack。CSS Hack主要分为属性标记法和选择器前缀法两种

 

属性标记法

【IE6-】

  对于IE6-浏览器主要使用下划线_和中划线-这两种字符

_color:blue;
-color:blue;

【IE7-】

  对于IE7-浏览器可以使用非常多的字符,包括`~!@#$%^&*()=+{[]:<>,.?/

  但是,比较常用的是加号+和星号*

+color:blue;
*color:blue;

【IE10-】

  使用后缀\9可以识别出IE10-浏览器

color:blue\9;

【IE8+】

  使用后缀\0可以识别出IE8+浏览器 

color:blue\0;

【IE9、IE10】

  使用后缀\9\0可以识别出IE9、10浏览器

color:blue\9\0;

 

选择器前缀法

【IE6-】

  在选择器前面添加* html,可以识别IE6-浏览器

  [注意]*和html之间有无空格都可以生效

*html div{color:red}

【IE7】

  在选择器前面添加*+html,可以识别IE7浏览器

  [注意]*、+、html之间有无空格都可以生效

*+html div{color:red}

【IE8】

  在选择器外层使用@media \0,可以识别IE8浏览器

  [注意]@media和\0之间必须有空格

@media \0{
    div{color:red}
}

【IE9+及其他非IE浏览器】

  在选择器前面添加:root,可以识别IE9+及其他非IE浏览器

:root div{color:red}

CSS Hack