是唯一可靠、语义明确、跨浏览器一致的不换行空格,因html默认合并连续空白字符(空格、制表符、换行符)为单个空格并丢弃首尾空白,而 对应unicode u+00a0,不会被合并或折行。

直接用 ,别敲空格键,也别指望连续敲多个空格能生效。
为什么普通空格在HTML里不顶用
浏览器默认会把一串空格、制表符、换行符全压缩成一个空格,首尾空白还会直接扔掉。你敲十个空格键,页面上只显示一个——这不是bug,是规范行为。
所以: 是唯一可靠、语义明确、跨浏览器一致的“不换行空格”表示方式。
-
对应 Unicode U+00A0,浏览器不会合并它,也不会在此处折行 -
或是普通空格的数字实体,行为和空格键完全一样,照样被合并 - 直接输入中文全角空格( )或半角空格( )都无效,除非它们被当作文本内容原样输出(比如在
<pre class="brush:php;toolbar:false;"></pre>里)
怎么用 实现多个连续空格
想显示“Hello World”,就老老实实写三个 :
<p>Hello World</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill5806" title="html-deploy"><img src="https://img.php.cn/upload/skill/000/000/081/179066538882434.jpg" alt="html-deploy" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill5806" title="html-deploy" class="overflowclass">html-deploy</a> <p class="overflowclass">使用 htmlcode.fun 将 HTML 内容或文件部署到网页,适用于用户要求“部署到网页”“托管此 HTML”“生成此前端...的实时链接”等场景。</p> </div> <a rel="nofollow" href="/xiazai/skill5806" title="html-deploy" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>
注意: 是实体,不是标签,不能自闭合写成 /;也不能漏掉分号,写成   会导致解析失败或显示为文字。
- 多个
可以连写,没有上限,100个也行(但别真写100个,那是设计问题) - 如果用于缩进,优先考虑 CSS 的
text-indent或padding-left,更语义、更可控 - 如果用于对齐数字/单位(如
10 kg),是正确选择——它防止“10”和“kg”被拆到两行
在表格单元格里为啥有时失效
在 <td> 里加 <code> 后文字还是换行了?大概率是表格自身布局逻辑干扰了它。
<td> 默认宽度由内容撑开,<code>white-space: nowrap很可能没作用对象- 必须配合
table-layout: fixed(加在<table> 上) + 显式设置列宽(如 <code>width: 150px) - 避免在
<td> 里嵌套 <code><div> 或 <code><p></p>,这些块级元素自带换行语义,会覆盖的效果什么时候不该用
是文本级语义,不是布局工具。硬塞一堆来对齐按钮或控制间距,后期维护痛苦,响应式下极易崩坏。- 纯视觉间距:用
margin/padding - 段首缩进:用
text-indent - 需要保留所有空白(含换行):用
white-space: pre-wrap或<pre class="brush:php;toolbar:false;"></pre> - 代码片段、日志、ASCII 图:优先
<pre class="brush:php;toolbar:false;"></pre>+white-space: pre
真正容易被忽略的是:很多“空格需求”本质是排版或布局问题,
只解决其中一小部分——而且只在它该出现的地方才该出现。 - 纯视觉间距:用










