是HTML中表示不换行空格的字符实体,用于防止文字在单位、姓名等场景中被意外断行,而非替代CSS实现缩进或对齐。

HTML 中 是什么,什么时候该用
是 HTML 中表示“不换行空格”(non-breaking space)的字符实体。它不会被浏览器合并或折叠,也不会在行尾自动断开——这是它和普通空格最根本的区别。
常见误用是把它当“多打几个空格”的快捷方式。实际上,连续多个普通空格在 HTML 中只会渲染为一个;而 强制保留且不可折行,适合用于需要视觉隔离又不能换行的场景,比如:
- 姓名中间(如“张 三”防被拆到两行)
- 单位与数字之间(如“100 px”、“5 GB”)
- 表格中空单元格占位(避免因无内容导致边框塌陷)
- 按钮文字内强制分隔(如“上 传”防止“上传”被截成“上”和“传”)
怎么写才不会出错:编码、转义与常见陷阱
直接在 HTML 源码里写 即可,但要注意以下几点:
- 必须以
&开头,不能写成 (少;会导致后续文本被当作实体一部分解析) - 不要在 CSS 中用
content: "\00a0";替代,除非你明确需要伪元素插入——因为\00a0是 Unicode 空格,行为等同于,但可读性差且容易输错 - 别用
实现缩进或对齐:这是语义错误,应该用 CSS 的padding、text-indent或margin - 在 Vue/React 等框架模板中,
仍有效,但 JSX 里需写成{"\u00a0"}或{String.fromCharCode(160)},否则会被当成字符串字面量直接输出
替代方案:什么情况下不该用
现代布局中,多数“想空一格”的需求其实有更合理、更可控的方式:
立即学习“前端免费学习笔记(深入)”;
- 单词间固定间距 → 用 CSS
letter-spacing或word-spacing - 防止文字断行 → 用 CSS
white-space: nowrap更简洁(如v1.2.0) - 保持空单元格高度 → 用
仍可接受,但更好的做法是给td设最小高度或背景色,使其视觉可见 - 响应式排版中留白 → 应依赖
gap、padding等弹性属性,而非硬塞
验证是否真需要它:一个快速自查方法
遇到“这里好像要空一下”的直觉时,先问自己三个问题:
- 这个空格是否必须和前后文字绑定在一起、不能单独换行?
- 这个空格是否属于内容语义的一部分(比如单位分隔),而不是纯样式需求?
- 有没有 CSS 方案能更干净地表达同一意图,且兼容移动端断行逻辑?
如果三个答案都是“是”,再用 。否则,大概率是用错了地方。
真正难的不是怎么写 ,而是判断它是不是当前问题的最优解——尤其在组件化开发中,一个不经意的 可能让文案在窄屏下卡住布局,却很难被一眼发现。











