笔记 · 排版

中文字体回退栈的实战排序

字体回退栈的顺序决定了「中文用什么字、西文用什么字、缺字时掉到哪」。写错了不会报错,只会在某个用户的机器上悄悄变样。

西文在前,中文在后

把西文字体放在前面,中文放后面。西文字体里没有汉字,遇到汉字自然往下掉,中西文混排时各自都能用到合适的字形。

不同平台的中文名不一样

苹果平台用苹方,Windows 上是微软雅黑,安卓和 Linux 侧常见思源黑体。这几个名字要按平台依次列全,别只写一个。

兜底必须有

最后一定以通用族收尾。前面所有具体字体都没命中时,通用族保证页面至少能正常显示文字,而不是掉进浏览器的默认衬线体。

css
font-family:
  -apple-system, BlinkMacSystemFont,
  'PingFang SC', 'Microsoft YaHei',
  'Noto Sans SC', sans-serif;

评论6

访客

登录后参与评论,你的发言会署上自己的名字。

  • 许原

    许原作者@xuyuan2026-08-07

    放在最前面:看到都会回,先谢过各位补充的经验。

  • 苏晚

    苏晚@suwan_dev2026-08-09

    我们也是这么做的,唯一想补充的是切片之后记得把字体文件放到带长缓存的路径上。

  • 顾青

    顾青@guqing2026-08-10

    对,缓存头配错的话每次访问都会重下,前面省下的全还回去了。

  • 郑一鸣

    郑一鸣@yiming2026-08-10

    想问下这种切片方案在字体版本升级的时候怎么处理?全部重下还是只换变化的分片?

  • 吴桐

    吴桐@wutong2026-08-11

    行高和字距那一段说得很实在,中文确实不能照搬西文那套参数。

  • 何知白

    何知白@hezhibai2026-08-12

    中文按需加载这块终于有人把量化的过程写出来了,之前看到的都只给结论。