HTML中插入不可见空格应优先用CSS而非空格字符实体; 用于防换行但非透明,其他如 、 、 、各有语义和适用场景,多数排版需求应通过letter-spacing、margin、padding或white-space等CSS属性实现。
直接敲空格键在HTML里基本没用——浏览器会把连续多个普通空格、换行、制表符全部合并成一个空格,甚至可能直接忽略。真要控制空白,得用专门的HTML字符实体或CSS。
(non-breaking space)能强制显示一个不换行的空格,但它不是“透明”的:它有宽度、参与行高计算、会被选中、影响innerText长度。常见误用场景:
text-align或padding) 假装缩进(破坏可访问性,屏幕阅读器会读出“空格空格空格”)margin做外边距(语义错误,且响应式下难维护)姓名:张 三
上面这段代码在视觉上可能“看起来对齐”,但实际是硬编码空格,移动端缩放后极易错位。

不同空格有明确语义和渲染行为,不能混用:
:半个中文字符宽(约0.5em),适合英文单词间微调间距 :一个中文字符宽(约1em),常用于段首缩进(但更推荐text-indent) :窄空格(约1/6em),适合数学公式或单位前(如“100 km”)​():零宽空格,不占位但允许断行,适合长URL或变量名中间插入断点速度:100 km/h
版本号:v1.2.3
绝大多数排版需求,用CSS比堆砌空格字符更合理:
letter-spacing或word-spacing
margin/padding,不是
white-space: pre-wrap
white-space: nowrap配合 (仅此场景 才算合理)真正需要手动输入空格字符的情况极少,基本只出现在:纯静态内容、无法改CSS的遗留系统、或必须让空格成为DOM文本节点的特殊交互逻辑里。