是HTML中表示不换行空格的字符实体,用于防止文字在单位、姓名等场景中被意外断行,而非替代CSS实现缩进或对齐。
是什么,什么时候该用 是 HTML 中表示“不换行空格”(non-breaking space)的字符实体。它不会被浏览器合并或折叠,也不会在行尾自动断开——这是它和普通空格最根本的区别。
常见误用是把它当“多打几个空格”的快捷方式。实际上,连续多个普通空格在 HTML 中只会渲染为一个;而 强制保留且不可折行,适合用于需要视觉隔离又不能换行的场景,比如:
直接在 HTML 源码里写 即可,但要注意以下几点:
& 开头,不能写成  (少 ; 会导致后续文本被当作实体一部分解析)content: "\00a0"; 替代,除非你明确需要伪元素插入——因为 \00a0 是 Unicode 空格,行为等同于 ,但可读性差且容易输错 实现缩进或对齐:这是语义错误,应该用 CSS 的 padding、text-indent 或 margin
仍有效,但 JSX 里需写成 {"\u00a0"} 或 {String.fromCharCode(160)},否则会被当成字符串字面量直接输出
现代布局中,多数“想空一格”的需求其实有更合理、更可控的方式:
letter-spacing 或 word-spacing
white-space: nowrap 更简洁(如 v1.2.0) 仍可接受,但更好的做法是给 td 设最小高度或背景色,使其视觉可见gap、padding 等弹性属性,而非硬塞
遇到“这里好像要空一下”的直觉时,先问自己三个问题:
如果三个答案都是“是”,再用 。否则,大概率是用错了地方。
真正难的不是怎么写 ,而是判断
它是不是当前问题的最优解——尤其在组件化开发中,一个不经意的 可能让文案在窄屏下卡住布局,却很难被一眼发现。