IE font-family bug

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

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

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

——- 2013-7-31 补充 ——-
由于上面图片失效,补一个出现同样问题的图片

——- 2013-7-31 补充结束 ——-
在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,可以在注册表里面找到这些东西:
HKEYLOCALMACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes

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

Win7:

顺便再复习下: