HTML中输入空格应使用 (需带分号且不能手敲下划线),它是不可折叠的不换行空格字符,用于防折叠、保格式、撑间距;错误写法如 或\_nbsp无效。

HTML 里怎么输入空格? 不是“下划线加 nbsp”
很多人在输入框里打 _nbsp 或  (少个分号),页面没反应——因为 是一个完整的字符实体,必须带末尾分号,且不能手敲下划线。它不是变量名,也不是命令,而是 HTML 规定的「不换行空格」符号。
的作用:防折叠、保格式、撑间距
浏览器默认会把连续多个普通空格(包括换行、制表符)合并成一个空格显示。而 是一个「不可折叠」的空白字符,常用于:
- 强制保留两个词之间的空隙,比如「第 1 章」防止被折到两行
- 在
外模拟等宽排版,比如对齐表格中的「—」和「●」 - 替代
这类纯为占位的冗余标签 - 避免段首空两格被 CSS
text-indent干扰时的临时方案(不推荐长期用)
怎么输入 ?别指望拼音输入法直接出
主流中文输入法(搜狗、微软、Rime)都不支持直接输入 。正确方式只有三种:
- 手动键入:
(注意&要写成&,否则在 HTML 中会被解析失败) - 在 VS Code / WebStorm 等编辑器中启用「HTML 自动补全」,输入
&nb后按 Tab,自动补成 - 复制粘贴:从可靠文档或本页直接复制
(注意检查是否带隐藏字符)
⚠️ 常见错误: (缺分号)、 (虽等价但可读性差)、_nbsp(下划线是无效字符,会被原样显示)
立即学习“前端免费学习笔记(深入)”;
替代方案:什么时候不该用 ?
是语义缺失的 hack。现代开发中,更推荐:
- 用 CSS 控制间距:
margin、padding、letter-spacing - 需要保留空白时用
white-space: pre-wrap - 做对齐用 Flex/Grid,而不是塞一堆
- 国际化场景下,
在 RTL(如阿拉伯语)中可能行为异常
真正需要它的场景其实很少——多数时候你只是没想清楚该用样式还是结构来解决问题。
错误示例:
作者: 张三
正确写法(无多余空格):
作者: 张三
最易忽略的一点: 是「字符」,不是「样式」。它会参与文本流、影响 textContent 长度、被剪贴板复制、在无障碍阅读器中被朗读为「空格」——这些副作用,往往比你预想的更顽固。










