浏览器默认合并空白符,需用html实体(如 )、css的letter-spacing、white-space等精确控制间距;word-spacing对中文无效,line-height不控制段间距。

浏览器默认会把连续空格、制表符、换行符全部合并成一个空格,所以直接敲空格键没用——想精确控制文本间距,必须用 HTML 实体或 CSS 属性,不能靠“多打几个空格”糊弄。
用 和其他空格实体插入不可折叠空格
这是最直接的内联文本空格方案,适合按钮文字、标题中防断行、或中西文混排微调。
-
是最常用实体,表示 non-breaking space,不会被合并,也不会在该位置换行 - 需要更窄空隙时用
(六分之一字宽)或(半角空格),比更细粒度 - 中文排版常用
(全角空格),宽度≈一个汉字,对齐更稳 - 注意:实体是字符,不是样式;复制粘贴时可能变成普通空格,语义上也不如 CSS 可维护
用 letter-spacing 调整字符间光学间距
它不加空格,而是拉伸或压缩字符之间的默认间隙,作用于每个字符对之间,对中英文都生效,但视觉影响不同。
- 设
letter-spacing: 0.05em比1px更安全,随字体缩放,小字号下不至于消失 - 中文慎用负值,
-0.5px在 14px 下可能已粘连;英文大写标题可试2px增强识别度 - 别在
<input>或<textarea></textarea>上设,Safari 和旧版 Chrome 支持极差 - 中英文混排时,
letter-spacing: 0.03em对汉字偏松、对英文偏紧,得用<span class="lang-en"></span>单独控制
用 white-space 保留原始空格格式
当你要原样显示代码、诗歌、或带缩进的配置片段时,这个属性比一堆 更干净。
-
white-space: pre;完全保留空格和换行,但默认用等宽字体,需手动改font-family -
white-space: pre-wrap;更实用:保留空格和换行,又允许自动折行,适合长段落中的预格式内容 -
white-space: pre-line;合并连续空格但保留换行,适合从后台取回的富文本清洗后展示 - 设了
white-space: nowrap;却没给足够宽容器?letter-spacing再大也看不见——字符被挤出视口了
别用 word-spacing 给中文调“字间距”
它只对以空格分隔的“词”起效,中文没有词间空格,所以设了基本无效;反而会让夹在中文里的英文单词被异常撑开。
- 按钮文字写成
<button>登录 NEW</button>,再配word-spacing: 4px,只影响那个和后面的NEW - 和
letter-spacing同时存在会叠加,调试时先关掉一个再观察 - Flex/Grid 容器里,
word-spacing可能被justify-content或gap覆盖,优先级更低 - 真正要调中文疏密感,还是回到
letter-spacing,哪怕只设0.02em
最易忽略的点:line-height 控制的是单行内部高度,不是段落间距;两段文字之间的空白,由 margin-bottom 和 margin-top 决定,且会发生外边距合并——连续两个 <p style="margin-bottom: 20px"></p>,实际视觉距离仍是 20px,不是 40px。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











