什么是CSS Hack?
一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack。
CSS Hack常见的有三种形式:
属性Hack、选择符Hack、条件注释Hack, Hack主要针对IE浏览器
比如说:
1. 条件Hack
<!--[if IE]>
<p>你在非IE中将看不到我的身影</p>
<![endif]-->
<!--[if IE]>
<style>
.test{color:red;}
</style>
<![endif]-->
<!--[if lt IE 9]>
<script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。
2. 属性Hack
.test{ color:#090\09; /* For IE8+、FF */
*color:#f00; / * For IE7 * /
_color:#ff0; /* For IE6 */ }
属性级Hack:
比如IE6能识别下划线“”
和星号“”
,
IE7能识别星号“”
,但不能识别下划线” ”
,而firefox两个都不能认识。
background-color:red9;
9所有的ie浏览器可识别;
background-color:yellow0;
0 是留给ie8的,
3. 选择符Hack
* html .test{color:#090;} /* For IE6 and earlier */
*+html .test{color:#ff0;} /* For IE7 */
.test{color:#f00;} /* For IE8+ and not IE */
比如IE6能识别
*html .class{}
,IE7能识别*+html .class{}