概念
CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号
以达到应用不同的CSS样式的目的
一般来说是针对不同的浏览器写不同的CSS,就是 CSS Hack
CSS Hack常见的有三种形式:属性Hack、选择符Hack、条件注释Hack, Hack主要针对IE浏览器
条件Hack
条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。
// 只有在IE浏览器中才能被解析,在其他的浏览器中就会被当成注释
<!--[if IE]>
<p>你在非IE中将看不到我的身影</p>
<![endif]-->
<!--[if IE]>
<style>
.test{color:red;}
</style>
<![endif]-->
属性Hack
比如IE6能识别下划线“_”和星号“*”,IE7能识别星号"*",但不能识别下划线"_",而firefox两个都不能认识
.test{ color:#090\09; /* IE8往上 */
*color:#f00; /* IE7 */
_color:#ff0; /* IE6 */ }
选择符Hack
比如IE6能识别 *html .class{},IE7能识别*+html .class{}
* html .test{color:#090;} /* IE6 */
*+html .test{color:#ff0;} /* IE7 */
.test{color:#f00;} /* IE8+往上 */