HTML中普通空格会被浏览器合并,需用 强制显示不换行空格;其他空格实体如 、 、 用途明确但兼容性较弱;CSS方案更灵活现代,而或white-space属性过于粗粒度,不适合局部微调。

HTML里直接敲空格会被浏览器合并
无效。HTML解析器默认把连续的空白字符(空格、制表符、换行)压缩成单个空格,且首尾空格会被忽略。比如写 hello world ,浏览器实际渲染为 hello world(前后无空格,中间只一个空格)。
是最常用且可靠的空格符号
用 (no-break space)能强制显示一个不被合并、不换行的空格。它属于HTML实体,语义上表示“此处必须保留这个空格”。
姓名: 张三
上面会显示“姓名: 张三”(三个连续空格)。注意: 必须带分号,写成   无效。
立即学习“前端免费学习笔记(深入)”;
其他空格实体和 CSS 替代方案
除了 ,还有几个有明确用途的空格字符:
-
:半个汉字宽(约0.5em),适合中英文间微调 -
:一个汉字宽(约1em),常用于缩进 -
:更窄的空格(约1/6em),适合标点前后的精细控制
但这些实体兼容性略弱于 ,老版本IE可能不识别。更现代的做法是用CSS控制:
hello
姓名:张三
CSS方式更灵活、可维护,也避免HTML里堆砌大量 。
为什么不能用普通空格加 或 white-space?
可以,但代价高:
-
会禁用所有HTML标签解析(包括换行、等),仅适合纯文本块 -
white-space: pre或pre-wrap会让整段文字保留所有空白,容易破坏排版节奏 - 它们解决的是“保留空白”的通用问题,不是“打一个可控空格”的精准需求
真正需要的往往只是局部微调——这时候 最轻量、最直观、最不容易出错。










