IE font-family bug

三谈Web默认字体中有这么一段:

5. GB 编码问题。font: 12px sans-serif; 不设置宋体,页面为 GB 系列编码时,非中文操作系统下(港台用户中有不少英文系统,还有海外华人),IE的默认字体是 Microsoft Sans Serif Regular, 很难看。截图为证:

有两个解决方案:a. 用”宋体”垫底;b. 不加 sans-serif.

在Qzone简版个人中心(同事做的)也遇到过类似的问题,不过不局限于以上条件,详情如下:

  1. 出现在简体中文旗舰版Win7的IE8中(简体中文版XP的IE8正常),英文系统等未测试
  2. 页面为utf-8编码(http headers及页面meta中都已指定)
  3. css中是这么写的:
    body{font-family:Tahoma,Helvetica,Arial,sans-serif;}

    而浏览器直接跳到了sans-serif

  4. 上面改为
    body{font-family:Tahoma,Helvetica,Arial;}

    而当页面有一处为

    a span{font-family:Arial,sans-serif;}

    mouseover前为sans-serif,mouseover后变为了Arial,太囧了

解决方法:推荐删去sans-serif,而用”宋体”垫底有时会不生效

某鬼佬遇到过另外的字体问题:《Euro symbol showing as serif font in IE7 when using bold Arial

old9评论

windows 下有一套映射缺失字体的机制,helvetica 会自动映射到 arial,可以在注册表里面找到这些东西:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

发现Win7和XP还有些不同,截图留念,XP:

Win7:

顺便再复习下:

Tags:

6 comments

  1. treblam 说道:

    涛哥研究问题的态度令人佩服,学习了。

  2. kaigo 说道:

    编码是UTF-8 .虽然大了一些,但是存中文比较好。

  3. crusher 说道:

    字体还有这么多的问题啊。雅黑最好看了

  4. stone crusher 说道:

    不看不知道呀,真是处处皆学问呢。

  5. cone crusher 说道:

    原来用过一次,感觉还不错

Trackbacks/Pingbacks

Leave a comment