字距与字偶距
最后更新 2026-11-02
- 字距
- 字间距
- tracking
- letter-spacing
- 字偶距
- kerning
- AV
本页目录
这两个词都跟字与字之间的距离有关,但作用范围完全不同:tracking 是整体均匀地加减,kerning 是只修正特定的字符对。在软件里它们常常是两个不同的输入框,在 CSS 里则是 letter-spacing 与 font-kerning。
tracking:整体松紧
字距(tracking)把一段文字里所有字之间的距离一起加大或减小。它的用途是补偿字号:
- 大字号(标题、海报)通常需要负 tracking,因为字大了之后,原本的设计间距看起来会变松;
- 小字号(注释、图注)需要正 tracking,否则字会糊在一起。
CSS 里对应 letter-spacing:
.display {
font-size: 64px;
letter-spacing: -0.02em;
}
.caption {
font-size: 12px;
letter-spacing: 0.01em;
}
用 em 而不是 px,这样换字号时比例不变。
⚠️ 一个 CSS 的细节:letter-spacing 是加在每个字符之后(包括最后一个),所以居中或右对齐的文本会显得偏左/偏右一点——那多出来的一点空隙确实存在。
先在几行字上看整体松紧,再看成对修正:最后一条关掉 kerning,WAVE、To 里的缝隙会变大。
kerning:成对修正
字偶距(kerning)只调整某些特定的字符对。最典型的是 AV、To、TA、yo:它们的形状天然会形成一块过大的空白,字体设计师会为这些组合单独写一个负值。
它在字体文件里存在 GPOS 表的 kern 特性里(见 GSUB / GPOS),也有极老的字体把它放在单独的 kern 表里。
CSS 里对应 font-kerning:
body {
font-kerning: normal; /* 默认,启用字体自带的 kerning */
}
关掉它一般只会让排版更差,除非你在做代码或表格这类需要严格等距的场景。
怎么听出别人在说哪一个
一句简单的判据:
- 整段看起来太松/太紧 → tracking;
- 这两个字母之间的缝太大 → kerning。
设计稿里标 AV 需要收紧,是 kerning;说正文 -10 是 tracking。
中文与混排
中文没有 kerning 的概念:汉字是等宽的字面框,不需要成对修正。中文排版里说的字距更接近 tracking,而且还要考虑:
- 全角标点:句号、逗号自带半角空白,和西文字符挤在一起时会显得空;
- 中西混排:需要在汉字与西文之间加一点空隙(CSS 的
text-spacing-trim/text-autospace在做这件事,但支持度不一); - 避头尾:标点不能出现在行首或行尾,属于换行规则,与间距无关。
这也是中文排版照抄西文的 tracking 数值会很难看的原因。
在本站怎么调
排版预览里有字距控制,单位是 em,作用就是 letter-spacing——所以你在那里看到的效果,就是 CSS 里写 letter-spacing 的效果。
kerning 是字体自带的,本站不提供开关;它默认开着(浏览器默认 font-kerning: auto,对有 kern 数据的字体生效)。
一个容易忽略的点
letter-spacing 加得越多,每行容纳的字符就越少,于是换行位置全变。调字距时不要只看一行,要看整段的行尾是否出现难看的断法。
延伸阅读
- MDN:
letter-spacing、font-kerning - OpenType 规范:
GPOS的kern特性 - 本站:GSUB / GPOS