CSS Hack 是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的补救方法,如果能避免使用hank应该尽量避免使用css hank,但有时又不得不用
为了区分这些hank都能兼容哪些浏览器,特别做了一下测试:
测试的浏览器有:ie6,7,8,9,firefox 8.0,chrome 15.0,safari 5.1.2,opera 12.0,遨游3.2.2,腾讯TT4.8
html代码:
<div class="hank">看看我是什么颜色</div>
CSS代码:
<style type="text/css">
.hank{color:#000;/*ff浏览器*/
[;color:#f00;];/*chrome,safari,遨游,ie7,腾讯TT,ie6*/
color:#0f0\9;/*ie6,7,8,9,腾讯TT*/
color:#0f0\0;/*ie8,9*/
*color:#00f;/*ie6,7,腾讯TT*/
_color:#ff0;/*ie6*/
}
:root .hank{color:#0ff\0;}/*ie 9,opera*/
.hank{margin-left:0;
[;margin-left:100px;];/*chrome,safari,遨游,ie7,腾讯TT,ie6*/
margin-left:100px\9;/*ie6,7,8,9,腾讯TT*/
margin-left:200px\0;/*ie8,9*/
*margin-left:300px;/*ie6,7,腾讯TT*/
_margin-left:400px;/*ie6*/
}
:root .hank{margin-left:400px\0;}/*ie 9*/
</style>
分别用了颜色和margin-left两种样式对浏览器做了对比,最后第二个和第四个颜色上能支持ie9和opera,但是margin-left只能支持ie9
由此得出下面结论:
.hank{
color:#000;/*ff浏览器*/
[;color:#f00;];/*chrome*/
color:#0f0\0;/*ie8*/
*color:#00f;/*ie7,腾讯TT*/
_color:#ff0;/*ie6*/
}
:root .hank{color:#0ff\0;}/*ie 9*/
更多信息请查看IT技术专栏