HTML中连续空格会被浏览器合并为一个,需用 等实体或white-space CSS属性实现多空格效果: 防断行, / / 控宽度;CSS推荐pre-wrap保留空格换行且允许折行。
HTML 中直接敲空格键不会显示多个空格,浏览器会自动合并为一个。想显示多个空格或特殊空白效果,必须用空格实体或 CSS 控制。
浏览器默认会把连续的普通空格( )、制表符、换行都压缩成单个空格。要保留多个,得用空格实体:
:不换行空格(No-Break Space),最常用,比如 显示三个空格 :半个汉字宽(约 2 字符),对应 
\u2002
:一个汉字宽(约 4 字符),对应 \u2003
:细空格(1/6 em),适合紧邻标点时微调注意: 是唯一能阻止文字在该位置断行的空格;其他实体仍允许断行。
white-space 更灵活如果要整段保留空格和换行(比如代码块、诗歌排版),用 CSS 比堆砌 更可靠:
pre {
white-space: pre;
}
常用值说明:
pre:完全保留空格、制表符、换行,行为像 标签pre-wrap:保留空格和换行,但允许自动换行(推荐日常使用)pre-line:合并空格,但保留换行normal(默认):所有空白字符合并为单个空格,换行被忽略手动敲 太慢,不同编辑器有更快方法:
& 后按 Ctrl+Space 触发 HTML 实体补全,再选
HTML-CSS-Class-Completion,支持实体缩写如 nb →
& 后按 Ctrl+J 调出实体列表 或用 Alt+0160(Windows 小键盘)输入
Mac 用户注意:Alt+Space 默认触发 Spotlight,不能直接输入 ,需改用实体码或编辑器补全。
做布局有人用一堆 对齐文字或撑开间距,这属于语义错误,且维护困难:
text-align、margin、padding、Flexboxwhite-space: nowrap,不是塞
在屏幕阅读器中会被读作“空格”,过多会影响可访问性真正需要它的地方其实很窄:防止折行(如“第 1 章”)、微调标点间距(如中文引号后跟英文括号)、兼容老系统纯 HTML 渲染场景。