html默认合并连续空白字符为一个空格,故多个 或普通空格视觉无区别;可靠方案是用css white-space: pre/pre-wrap控制,或以margin/padding替代语义化布局。

为什么 不能连续用
直接写多个 看似能空出位置,但浏览器会把连续的空白字符(包括 )合并成一个显示宽度——这是 HTML 的空白处理规则决定的,不是 bug。所以 和单个 在视觉上往往没区别。
用 替代 更可控
是命名实体, 是数字字符引用(Unicode U+00A0),两者等价,但某些旧环境或模板引擎对命名实体有额外解析逻辑。用数字形式可绕过部分干扰:
// 显示为三个独立空格宽度
注意:它仍受 CSS 的 white-space 影响,如果父元素设了 white-space: normal(默认值),连续 还是可能被压缩——这不是编码问题,是渲染行为。
真正可靠的方式:CSS 控制空白
靠实体硬堆不是长久之计。更直接的做法是用 CSS 锁定空白行为:
- 给容器加
white-space: pre或white-space: pre-wrap,这样普通空格、、都不会被合并 - 用
margin或padding代替空格做间距,语义更清晰、响应式更友好 - 需要精确宽度时,用
letter-spacing配合内联元素,或直接上ch单位:width: 3ch
别忽略字体和渲染差异
和 渲染宽度取决于当前字体。等宽字体下稳定,但多数网页用非等宽字体(如 system-ui、-apple-system),此时一个 的像素宽度可能和字母 i 接近,而非严格等于空格字符。如果设计要求像素级对齐,实体编码本身无法保证——得结合 font-family 锁定,或改用 inline-block + 固定 width。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











