全局字体最佳实践

来源:曾加高端品牌网站设计 时间:2009-08-13 14:37:00 

 

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;

标签:字体,文字,宋体,浏览器
0
投稿

猜你喜欢

  • 解决Pytorch在测试与训练过程中的验证结果不一致问题

    2022-08-18 03:50:13
  • JS实现点击掉落特效

    2023-09-12 12:50:33
  • 从Pytorch模型pth文件中读取参数成numpy矩阵的操作

    2021-12-27 11:05:53
  • sqlserver中触发器+游标操作实现

    2024-01-20 19:25:42
  • python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)

    2023-10-15 20:20:36
  • python re.match()用法相关示例

    2023-07-21 05:12:30
  • 解决Windows 7下安装Oracle 11g相关问题的方法

    2024-01-22 05:19:19
  • Python groupby函数图文详解

    2021-10-01 06:17:09
  • Python返回真假值(True or False)小技巧

    2023-12-30 21:56:18
  • Python实现批量自动整理文件

    2023-05-10 21:58:12
  • mysql批量插入BulkCopy的实现

    2024-01-28 14:53:12
  • PHP图片上传代码

    2024-05-05 09:17:26
  • vue el-upload上传文件的示例代码

    2024-05-11 09:13:47
  • PHP中使用addslashes函数转义的安全性原理分析

    2023-08-16 10:31:22
  • Go pprof内存指标含义备忘录及案例分析

    2024-05-21 10:19:46
  • 详解Python中的Descriptor描述符类

    2021-10-16 10:10:35
  • 详解python 降级到3.6终极解决方案

    2022-07-07 20:50:26
  • 在Tensorflow中查看权重的实现

    2022-05-02 20:14:56
  • Python3实现计算两个数组的交集算法示例

    2021-06-03 00:21:19
  • 在Python中操作文件之seek()方法的使用教程

    2023-08-01 14:58:01
  • asp之家 网络编程 m.aspxhome.com