全局字体最佳实践

系统 1941 0
    body {font-family: Arial, sans-serif; }


  

这是我迄今发现的最好的全局字体解决方案。当然,所谓“最好”,也只是基于我个人的评判标准。所以我还是得分析一下其他的写法有什么缺点,最后再总结这个写法的特点。

    body {font-family: "宋体", sans-serif; }


  

这个写法可能的缺点在于:
1. 宋体在Safari和Vista的IE 7下,看起来很难看。(我稍后把截图补上)
2. 宋体的英文字很难看。
3. 如果在CSS里写中文,你得小心你HTML和CSS的编码是否一致。

    body {font-family: SimSun,sans-serif; }


  

这样写,可以避免上面的第三个问题。但是宋体本身确实很难看。我们希望在不同平台下,都用各自默认的字体。XP是宋体,Vista是微软雅黑,Mac是黑体。这样的话,只能将字体的第一个设置为英文字体,这样遇到中文的时候,浏览器会自动调用默认字体(Vista IE 7的一些版本里貌似默认还是宋体,这个我就无能为力了,交给用户设置的自主权吧)

    body {font-family: Tahoma, sans-serif; }


  

这是一个不错的解决办法。Tahoma其实是一个挺漂亮的字体(我同事喜欢称它“大河马”,哈哈)。但是它其实会带来一些问题:
1. 由Tahoma显示的中文,在IE 6里,下划线会紧紧的贴住中文字,很难看。
2. IE 6下,Tahoma无法正确的设定为13px。它会跟14px一样大。但是其他浏览器没有这个问题。
3. 如果一行里同时出现中文和英文,且这一行里有元素被定义了 vertical-align 属性,在IE 6、7里会导致文字高低不齐,甚至下划线错位。

    body {font-family: Arial, ans-serif; }


  

上述两个问题,Arial都没有。但是Arial也有缺点:
1. 比Tahoma难看。
2. Tahoma里的第三个问题也同样存在。
不过,这个bug是有个解决办法的,就是将这一行定义 zoom:1

所以,如果不嫌难看,定义为Arial是最合适的。如果实在不喜欢,可以将全局定义为Tahoma,然后再将有下划线的(如链接)文字定义为Arial,至少可以缓解一下。

最后,对于全局字体,补充一点:IE里,所有的表单元素都不继承body的字体属性,需要单独设置:

    input, label, select, option, textarea, button, fieldset, legend {

font-family:Tahoma,sans-serif;

}


  

全局字体最佳实践


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论