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:blue9;

【IE8+】

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

color:blue;

【IE9、IE10】

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

color:blue9;

选择器前缀法

【IE6-】

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

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

*html div{color:red}

【IE7】

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

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

*+html div{color:red}

【IE8】

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

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

@media {
    div{color:red}
}

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

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

:root div{color:red}
原文地址:https://www.cnblogs.com/xiaohuochai/p/6383384.html