CSS Hack?
CSS Hack用来解决浏览器的兼容性问题,为不同版本的浏览器定制编写不同的CSS效果,使每个浏览器单独识别的样式代码,控制浏览器的显示样式。
可通过IETesterAPP来测试各IE低版本浏览器(百度或官网下载)
Hsck分类
1. CSS属性前缀法
指在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。
前缀标识 | 兼容浏览器 |
_ | IE6 |
+ 、* 如+background:blue; | IE6、IE7 |
\9 如background:blue\9; | IE6、IE7、IE8、IE9 |
\0 | IE8、IE9、IE10、IE11 |
2. 选择器前缀法
指针对一些页面表现不一致或者需要特殊对待的浏览器,在CSS选择器前加上一些只有某些特定浏览器才能识别的前缀进行hack
前缀标识 | 兼容浏览器 |
*html 如*html .box { } | IE6 |
*+html | IE7 |
:root | IE9以上及现代浏览器 |
3. IE条件注释法
这种方式是IE浏览器专有的Hack方式,微软官方推荐使用的hack方式
前缀标识 | 兼容浏览器 |
<!--[if IE]>...<![endif]--> | IE |
<!--[if IE 7]>...<![endif]--> | IE7 |
<!--[if lte IE 7]>...<![endif]--> | IE7以下 |
<!--[if ! IE 7]>...<![endif]--> | 非IE7 |
该方式是把body下的需要兼容的标签及内容嵌套在条件注释的里面
注意:IE10以上已经不支持条件注释法了