HTML中连续空格会被浏览器合并为一个,需用 等实体或white-space CSS属性实现多空格效果: 防断行, / / 控宽度;CSS推荐pre-wrap保留空格换行且允许折行。

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











