字距与字偶距

字距与字偶距

最后更新 2026-11-02

  • 字距
  • 字间距
  • tracking
  • letter-spacing
  • 字偶距
  • kerning
  • AV
EN中文
本页目录

这两个词都跟字与字之间的距离有关,但作用范围完全不同: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 里的缝隙会变大。

CSS Demo: letter-spacing

kerning:成对修正

字偶距(kerning)只调整某些特定的字符对。最典型的是 AV、To、TA、yo:它们的形状天然会形成一块过大的空白,字体设计师会为这些组合单独写一个负值。

它在字体文件里存在 GPOS 表的 kern 特性里(见 GSUB / GPOS),也有极老的字体把它放在单独的 kern 表里。

CSS 里对应 font-kerning:

body {
  font-kerning: normal;   /* 默认,启用字体自带的 kerning */
}

关掉它一般只会让排版更差,除非你在做代码或表格这类需要严格等距的场景。

AVATAR
正常
AVATAR
tracking:整体加宽
AVATAR
kerning:只拉开 AV
第二行把每个字的间距一起加大;第三行只动了 A 与 V 那一处。

怎么听出别人在说哪一个

一句简单的判据:

  • 整段看起来太松/太紧 → 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