CSS Hack
CSS Hack 是实现浏览器样式兼容的兜底办法,能不用就尽量不要使用。但是,针对一些浏览器的 bug,比如老版本 IE 的 bug,有时使用 CSS Hack 是不得已而为之的做法。CSS Hack 主要分为属性标记法和选择器前缀法两种。
[1] 属性标记法
- IE6- 对于 IE6- 浏览器主要使用下划线 _ 和中划线 - 这两种字符
- IE7- 对于 IE7- 可以使用非常多的字符,包括 `~!@#$%^&*()=+{[]:<>,.?/ 但,较常用的是加号 + 和星号 *
- IE10- 使用后缀 \9 可以识别出 IE10- 浏览器
- IE8+ 使用后缀 \0 可以识别出 IE8+ 浏览器
- IE9、IE10 使用后缀 \9\0 可以识别出 IE9、10 浏览器
[2] 选择器前缀法
- IE6- 在选择器前面添加 * html,可以识别 IE6- 浏览器 // * 和 html 之间有无空格都可以生效
- IE7 在选择器前面添加 *+html,可以识别 IE7 浏览器 // *、+、html 之间有无空格都可以生效
- IE8 在选择器外层使用 @media \0,可以识别 IE8 浏览器 // @media 和 \0 之间必须有空格
- IE9+ 及其他非 IE 浏览器 在选择器前面添加 :root,可以识别 IE9+ 及其他非 IE 浏览器