尧图网站设计尧图网站设计YAOTU DESIGN
UI TIPS · 04

字体排印

从字号阶、行高、字距到中英文混排,决定内容的声音与阅读的舒适度。

字体排印技巧
排印 进阶 约 16 分钟

字体排印:让内容拥有声音的隐形设计

难度:进阶 更新:2026-07 作者:尧图设计

字体排印是内容的"声音"——同样的文字,字号、行高、字距不同,读起来的气质完全不一样。很多新手把排版当成"选个字体",却忽略了字号阶、行高、字距这些更影响阅读的变量。这一节我们把排印拆成字号阶、行高、字距、对比、中英文混排五个维度,每个都给出可落地的 CSS。

字号阶

字号阶(type scale)是排版的骨架。随手给标题定 24 像素、正文 14 像素,看着没问题,但一放到多级标题里就会乱。正确做法是用一个固定的比例(如 1.25 大三度)生成阶,让 h1 到 body 之间形成匀速递减。尧图用的是 12、14、16、18、22、30、42 这一组,相邻字号比例约 1.2 到 1.4,既区分明显又不过度跳跃。

:root {
  --fs-xs:  12px;
  --fs-sm:  14px;
  --fs-base: 16px;
  --fs-lg:  18px;
  --fs-xl:  22px;
  --fs-2xl: 30px;
  --fs-3xl: 42px;
}
h1 { font-size: var(--fs-3xl); line-height: 1.3; }
h2 { font-size: var(--fs-2xl); line-height: 1.35; }
h3 { font-size: var(--fs-xl);  line-height: 1.4; }
p  { font-size: var(--fs-base); line-height: 1.8; }

行高

行高是阅读舒适度的关键。正文行高 1.7 到 1.9 最舒服,行距太窄眼睛会跳行,太宽则失去成行感。标题行高要收紧到 1.2 到 1.4,因为字号大、行距自然显宽。长文阅读可以放到 2.0,但短标签和按钮文字行高 1.2 到 1.5 就够,否则按钮会被撑高。一个简单的原则:字号越大,行高越小。

.body-text { line-height: 1.8; }
.long-read { line-height: 2; }
.caption   { line-height: 1.5; }
h1, h2, h3 { line-height: 1.35; }
经验:中文方块字本身比拉丁字母"满",行距要给得更宽。同样的 1.6 行高,英文读着舒服,中文会嫌挤。中文正文建议直接从 1.8 起步。

字距

字距(letter-spacing)是最容易被忽略的细节。中文正文一般不加字距,但大号标题加 0.5 到 1 像素会更透气;英文小写标签加大字距(2 到 3 像素)并配合 uppercase,是经典的"小标签"质感。字距别加太多,否则字与字之间像断了联系。尧图的小标签 eyebrow 就是用 3 像素字距加 uppercase 营造出精致感。

h1 { letter-spacing: 0.5px; }
.eyebrow {
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 12px;
}

对比

对比不只是颜色深浅,还包括字号、字重、字距的组合。标题用大字号加重字重加紧字距,正文用小字号加常规字重加标准行高,两者自然形成层级。一个常见错误是把所有文字都用同一字重,只靠字号区分——结果层级模糊,用户扫描吃力。给标题加 font-weight 700,正文 400,辅助文字 500,层级立刻清晰。

  • 标题 700、正文 400、辅助 500,字重也要分层。
  • 正文颜色不要用纯黑 #000,用 #2A3328 这种带绿调的墨色更柔和。
  • 辅助文字用 muted 灰,但对比度别低于 4.5:1。
  • 字号、字重、颜色三者协同,层级才稳。

中英文混排

中文页面几乎必然混排英文和数字。中文用 PingFang SC,英文和数字最好落到 Helvetica Neue 或等宽字体,否则英文会显得"糊"。字体栈里把中文字体放后面、英文放前面,浏览器会优先用英文字体渲染拉丁字符,中文回退到中文字体。等宽代码用 SF Mono 或 Fira Code,与正文拉开区分。

body {
  font-family: "PingFang SC", "Microsoft YaHei",
               "Helvetica Neue", Arial, sans-serif;
}
code, pre {
  font-family: "SF Mono", "Fira Code", "Consolas", monospace;
  font-size: 0.92em;
}
经验:排印是"看不见的设计"——用户不会说"这个行高真好",只会觉得"这页读起来不累"。把字号阶、行高、字距三个变量定好,80% 的排印问题就解决了。剩下的 20%,靠对比和混排打磨。