letter-spacing 是 CSS 属性而非 HTML5 属性,自 CSS1 起存在;用于英文缩略词、中文标题微调、等宽字体对齐及 WebFont 字距修复;慎用负值,注意继承性与可访问性;优先选用字体、text-shadow 或 span 精调替代。

很多人在搜索时误以为 letter-spacing 是 HTML5 新增的标签属性,实际上它从 CSS1 就已存在,HTML5 根本没有叫 letter-spacing 的原生属性。所有字间距控制必须通过 CSS 实现,无论是内联样式、 块还是外部样式表。
它不是“让文字更好看”的万能开关,而是在特定排版需求下才启用:
W3C)需要轻微拉开避免粘连,设为 letter-spacing: 0.05em
letter-spacing: 2px),但需注意中文字体本身不支持字距调整逻辑,实际效果依赖字体渲染引擎letter-spacing: -0.1ch 补偿字符宽度差异)@font-face 的 font-feature-settings 更稳妥)盲目设置容易引发阅读障碍或布局错乱:
letter-spacing: -1px)在高 DPI 屏幕上可能造成字符重叠,iOS Safari 对负值渲染尤其不稳定letter-spacing: 1px,子元素里写 font-size: 0.8em 时,实际字距仍是 1px(不是按比例缩放),容易导致小号文字间距过大text-transform: uppercase 做大写标题——大写字母本身字距更宽,叠加 letter-spacing 易失控遇到以下需求,优先考虑其他方式:
font-weight: 700),而非硬拉字距 包裹单个字符并单独设 margin-right,避免影响整段流式布局em 或 rem 单位(如 letter-spacing: 0.02em),禁用固定像素值text-shadow 叠加多层偏移,比调 letter-spacing 更可控/* 推荐写法示例:响应式 + 字体安全 + 防继承污染 */
h1 {
font-family: "PingFang SC", "Hiragino Sans GB", sans-serif;
letter-spacing: 0.02em;
}
h1 > span {
letter-spacing: normal; /* 重置内嵌文本 */
}字距调整本质是视觉微调,不是布局工具。多数情况下,选对字体、用好行高(line-height)和留白,比反复调试 letter-spacing 更有效。