letter-spacing 和 word-spacing 是唯二语义正确控制文本间距的 css 属性;前者调节字符间空隙,适用于中英文标题微调与可读性优化,后者仅作用于单词间空隙,对中文无效。

letter-spacing 和 word-spacing 是唯二能直接、语义正确地控制文本内部间距的 CSS 属性。其他方式(如 、margin、padding)要么破坏可访问性,要么干扰布局逻辑,都不算“设置文本间距”的正解。
什么时候该用 letter-spacing?
它作用于每个字符(Unicode 码位)之间的视觉空隙,中英文、数字、标点全算在内。
- 中文标题微调可读性:小字号(
font-size: 14px)下设letter-spacing: 0.05em比1px更稳,缩放时不会失衡 - 英文大写标题增强识别度:
letter-spacing: 0.1em或2px常见,但超过0.2em易断词 - 避免负值滥用:中文设
letter-spacing: -1px在微软雅黑里极易笔画粘连,尤其“口”“日”类字形 - 表格单元格内失效?先加
white-space: nowrap或display: inline-block,否则浏览器可能压缩掉你设的空隙
什么时候该用 word-spacing?
它只影响以空白符(空格、制表符、换行)分隔的“单词”之间距离,对中文基本无效——因为中文没有空格分词。
- 纯英文段落调节词距:
word-spacing: 4px可让 “Hello world” 中的空格变宽,但不影响 “Hello” 内部字母 - 混排场景别指望它管中文:“你好 world” 里,“你好” 和 “world” 之间的空隙会变,但“你好”两字之间不变
- 值为负时慎用:
word-spacing: -2px可能导致英文单词被挤到上一行末尾,触发意外换行 - 不继承自父元素:如果父
p设了word-spacing,子span不会自动继承,得显式重写
letter-spacing 在 <p></p>、<span></span>、<a></a> 上表现不一致?
不是属性本身有问题,而是渲染上下文不同:
-
<a></a>默认是display: inline,但某些浏览器对链接内letter-spacing的舍入处理更激进,0.1px可能直接归零 -
<span></span>包裹局部文字最安全:<span style="letter-spacing: 0.15em">重点词</span>,避免影响周围文本 -
<p></p>全局设要小心:若段落含数字单位(如100px),letter-spacing: 2px会让 “1”“0”“0”“p”“x” 全部等距拉开,变成视觉误读 - input/textarea 支持极差:旧版 Safari 几乎忽略
letter-spacing,别在这类表单控件上依赖它
真正难调的是中英文混排时的视觉平衡——同一个 letter-spacing 值,对汉字是“撑开”,对英文却是“断词”。没捷径,只能用 :lang(en) 或给英文部分加 class="en-text" 单独控制。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











