IE&Firefox Hack

2009-10-11 By Leo.N

首先,请原谅我一天之内连发两篇文章,且两篇文章标题上都出现了&,这并不仅仅是一个巧合,哈哈,不废话了,转入正题。

修改主题后,我发现了一个严重的问题,就是雅黑字体在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

  1. 要满足各个浏览器真是麻烦事啊

    • @kangzj 的确,本来IE8已经说是对CSS标准支持良好了,但在滤镜与雅黑上又悲剧了。。还同是MS的东西。。

  2. 那个。。还是Safari这些好用。。下次我直接用插件,IE访问的直接Crash!

    • @Jerry Chen Safar主要是太小众了。。。

  3. 哈,期待你的主题可以早日发布!

    • @Lxhome 谢谢啊,其实这主题不能说是“我”的,因为它是我修改SimpleG主题CSS后的产物。。

      • 嗯,我知道,我们使用的是一个主题!哈

  4. IE折腾死人啦

    • @zwwooooo 对。。。特别是ie6.。。。现在还有几个ie6下的问题没解决。。。

  5. 哈哈,过来看看

  6. 突然发现我来过啦…

    • @泥人 哈哈,我怎么说头像似乎见过。。。

  7. 雅黑字体模糊原来是滤镜引起的。。。大悟

    • @万戈 这确实有点诡异,在ie6里面不会模糊到ie7,8里面却模糊了。。

  8. 看到墙上的我了,我居然来过这地方

    我用xp,也比较喜欢宋体 也没关注在访客浏览器中的表现 哪天也做个调查看看。

    • @whisperer 嘿嘿,早些时候我也去过你的博客。。

  9. 全世界都在抵制 IE 的不合作…

    • 对,特别是在中国十分盛行的IE6。。。

  10. 只要适用IE6/7,firefox 主要的就行了阿!,尤其是中文站的,不可能做到面面俱到!

    • 呵呵,firefox我几乎没发现有什么问题,就是那个该死的ie6!

  11. 放弃IE6了~

    • 这是一个非常英明的决定。。。嘿嘿

  12. IE6?哎,随缘吧……希望它早日入土






XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>