letter-spacing是控制字符间物理距离的正主,非插入空格;设0不等于无间距,而是回退字体默认字距;中文标题常用2px–4px,小字号慎用负值,需防粘连且避免全局滥用。

直接用 最快,但只适合少量、静态空格;真要控制文字间距,得靠 CSS 的 letter-spacing —— 它才是管“字缝”的正主,不是“加空格”,而是调整已有字符间的物理距离。
为什么 不是万能解?
它本质是插入一个不可换行的空格字符,浏览器会把它当文本内容渲染。这意味着:
- 复制粘贴时,这些
会变成真实空格,可能污染数据(比如导出 CSV 或提交表单) - 写十个
就是十个 DOM 节点,对性能没压力,但维护成本高——改个间距得数实体个数 - 它不能响应字体缩放:16px 字体下 4 个
和 24px 下一样宽,视觉比例就崩了 - 在
<input>或<textarea></textarea>里基本无效,浏览器会过滤或忽略
letter-spacing 怎么设才不翻车?
这个属性控制的是字符(包括汉字、英文字母、标点)之间的水平间隙,单位建议用 px 或 em:
- 设
letter-spacing: 0≠ 没空隙,只是回退到字体自身的默认字距(normal),不同字体实际值不同 - 中文标题常用
letter-spacing: 2px到4px提升呼吸感;小字号(如 12px)慎用负值,-1px就可能让“口”和“天”粘连 - 别直接写在
body或全局p上:数字 “2024” 会被拆成 “2 0 2 4”,英文单词 “login” 变成 “l o g i n” - 想只调某几个字?用
<span></span>包住,再单独加样式,比如:<span style="letter-spacing:3px">联系我们</span>
什么时候该用 white-space: pre?
当你需要原样保留源码里的所有空格、制表符、换行,且内容本身就有结构意义时,比如代码块、诗歌、ASCII 图——这时 letter-spacing 是错的路子,因为它不保留空格字符,只调间隙。
-
white-space: pre会让浏览器把 HTML 源码里敲的每个空格都当真,但默认用等宽字体显示,需手动加font-family覆盖 - 更实用的是
white-space: pre-wrap:保留空格和换行,同时允许长行自动折行,适合用户输入的富文本预览 - 注意:这个属性作用于整个元素,无法只对其中几个字生效;它也不影响字符本身的字距,只是“不删你写的空格”
最易被忽略的一点:letter-spacing 会继承给子元素,哪怕子元素是图标字体(如 Font Awesome 的 <i></i>),也可能被拉变形。所以,要么用 span 精确包裹,要么在子元素上显式重置为 letter-spacing: normal。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











