行高
最后更新 2026-11-02
- 行高
- 行距
- leading
- line height
- 单倍行距
本页目录
行高(line height)是一行文字占的总高度;行距(leading)是行与行之间的空隙。两者说的是同一件事的两种记法——设计师习惯说行距 4pt,前端习惯说行高 1.5。
这个词从哪来
铅字排版时,行与行之间要塞铅条来撑开距离,那根铅条叫 leading(读作“ledding”,因为铅是 lead)。数字排版里没有铅条了,但词留了下来。
于是设计师说加大行距,通常指把行与行分开;而前端写 line-height: 1.5 时,改的是每次行盒的总高度——效果一样,算法不同。
单倍行高不是 100%
line-height: 1 意味着行高等于字号,但文字会挤在一起,因为字体的上下伸加起来通常超过一 em(b 往上伸、g 往下伸,两者相加比一个 em 高)。
所以单倍行距在绝大多数软件里不是 1.0,而是约 1.15–1.2;浏览器 normal 大致落在这一带。
两层行距
| 层 | 谁决定 | 在哪 |
|---|---|---|
| 字体自带 | 字体设计师 | hhea.lineGap、OS/2 的 typo / win 两组度量 |
| 使用时的行高 | 排版的人 | CSS 的 line-height、设计软件的行距设置 |
字体自带的那一层是建议值:它告诉软件这个字体正常行距大概要留多少。软件通常会覆盖它。
换字体之后行距看起来变了,原因就在这里:你设的倍数没变,但字体的上下伸变了,行盒的自然高度跟着变。
同一段话,把行与行之间的距离拉开或收紧——这是设计稿上最常调的一项,也是最有争议的一项。
要多大才合适
没有固定答案,但有几条经验:
- 正文:1.4–1.7;行长(每行字符数)越大,需要的行距越大,否则眼睛回到下一行会串行;
- 大标题:1.05–1.25;字号越大,相对行距应该越小;
- 小字 / 注释:1.3 左右,太松会失去整体感;
- 多栏窄栏:行距可以略小,因为行长已经短了。
另一个常被忽略的因素是 x 高度:x 高度大的字体自带更多墨,同样 1.5 倍看起来会比 x 高度小的字体更挤。
在本站怎么看
度量图里与行高有关的是三条水平线:
hhea ascender/descender:字体自带的第一组;OS/2 typo ascender/descender:微软与苹果商定的排版用那组;OS/2 win ascent/descent:早期 Windows 的裁切边界。
加上各自的 line gap,就是这个字体自己能撑多高。数值都在表里,并附占一 em 的百分比。
想直接试效果,用排版预览调行高最直观——它是真的在渲染文字,不是示意图。
和 CSS 的对应
CSS 里推荐用无单位数字(line-height: 1.5),它会随字号缩放;写成 150% 或 24px 则会在父元素处算成固定值,子元素放大字号后行距不跟着变。
具体的坑见 line-height 的四种值。
延伸阅读
- OpenType 规范:
hhea与OS/2的上下伸字段 - 本站:head、hhea 与 post、度量图怎么读