letter-spacing 专用于调整字符间视觉间距,不改变盒模型或语义;适用于英文大写标题松散、小字号中文字粘连、按钮文字密度过高等场景,单位优选 em(小字号)或 px(大标题),禁用无单位值,负值中文慎用、英文大写可微调。

letter-spacing 不是“加空格”,也不是调外边距,它直接作用于字符渲染层——设了就改字形间距,不碰盒模型、不干扰换行、不影响语义。
什么时候必须用 letter-spacing 而不是 margin 或空格
你遇到这些情况,margin 和手动加空格完全无效:
- 英文大写标题(如
HERO SECTION)看着糊成一团 → 需要视觉上“松开”字母,但不能破坏语义或复制粘贴 - 12px 中文字体在移动端显示粘连(比如「设计」俩字挤在一起)→
margin对单个汉字不起作用,空格会引入非法空白节点 - 按钮文字太密,点击识别率低 → 微调
letter-spacing: 0.5px比放大字体更轻量
记住:想动字和字之间的“呼吸感”,只认 letter-spacing;想动元素和元素之间距离,才轮到 margin。
letter-spacing 的单位怎么选才不出错
用错单位是导致响应式失效的最常见原因。固定像素值(如 2px)在小字号下会显得过宽,在大字号下又几乎看不出效果。
- 正文/小字号文本(≤14px):优先用
em,比如letter-spacing: 0.03em,它随font-size等比缩放 - 标题类大字号(≥24px):可用
px做精细控制,但别超2px,否则易溢出容器 - 禁用无单位数值(如
0.1):它会被解析为0.1px,而多数浏览器对的渲染不可靠,常被舍入为 0 - 重置时写
letter-spacing: normal,比0更语义清晰,且兼容旧版 IE
负值能用吗?中文慎用,英文大写可微调
负值不是不能用,而是极易翻车:
- 中文设
letter-spacing: -1px→ 字形可能重叠,尤其在非等宽字体(如 PingFang SC、Noto Sans CJK)中,阅读障碍明显 - 英文全大写标题(如
HOMEPAGE)可试-0.02em ~ -0.05em,收紧视觉重心,但超过-0.08em就容易误读 - 任何负值都需在真实设备上测试:iOS Safari 对负
letter-spacing渲染偏保守,可能直接忽略
局部调整别忘了用 span 包裹
全局设 p { letter-spacing: 0.02em } 很方便,但若只想让「立即下载」按钮文字更舒展,而其他段落保持自然,就得靠结构隔离:
<p>欢迎使用我们的服务,<span class="tight-cta">立即下载</span>体验完整功能。</p>
对应 CSS:
.tight-cta {
letter-spacing: 1px;
}
注意:不要用伪类(如 p:first-letter)去调字母间距——它只对首字符生效,且不支持 letter-spacing(该属性不作用于伪元素)。
真正难的不是写对那行 CSS,而是判断“这里到底需不需要动间距”——很多所谓“排版问题”,其实是字体本身字怀(counter)窄或字重(weight)太粗导致的,强行加 letter-spacing 只会让问题更隐蔽。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











