IE&Firefox Hack
首先,请原谅我一天之内连发两篇文章,且两篇文章标题上都出现了&,这并不仅仅是一个巧合,哈哈,不废话了,转入正题。
修改主题后,我发现了一个严重的问题,就是雅黑字体在IE7,IE8里面模糊的一塌糊涂,甚至不如宋体显示的效果好,而IE6很正常,在排除了字体大小等各种可能引发此现象的原因后,我找到了罪魁祸首——IE透明滤镜。
此时我的第一个反应就是给IE和Firefox做Hack,在网上翻了个遍后,找到了一段代码:
"\9" 例:"margin:0px auto\9;"这里的"\9"能区分所有IE和FireFox;
"*" IE6、IE7可以识别,IE8、FireFox不能;
"_" IE6可以识别,E7、IE8、FireFox不能。
也就是说,我把字体的CSS写成这样的话:
body{
font:14px/160% 'Microsoft YaHei',Arial,宋体,Tahoma,Sans-Serif;
font:14px/160% Arial,宋体,Tahoma,Sans-Serif\0;
*font:14px/160% Arial,宋体,Tahoma,Sans-Serif;
_font:14px/160% Arial,宋体,Tahoma,Sans-Serif;
}
理论上字体在IE6,7,8里面都是显示宋体,而在非IE浏览器里面显示雅黑了,但理论终归理论,实际应用起来就出问题了,它在Firefox里面也显示宋体而没显示雅黑,真是各种诡异不断啊,最后又只能继续Google&Baidu,功夫不负有心人,我找到了一段使IE8强行使用IE7渲染网页的头部代码,柳暗花明了,在header.php里添加
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
后,各种浏览器测试结果如我所愿。
今晚终于没有怀恨入睡了。。
最后附上一点资料:
关于IE Hack:http://bbs.blueidea.com/thread-2945721-1-1.html
关于使用IE滤镜后IE7,8中雅黑字体模糊:http://hi.baidu.com/icexile/blog/item/fe768f455897222ecffca39d.html