它们都表示空间,但有区别吗?


当前回答

一个是非间断空间,另一个是规则空间。非换行空格意味着该行不应该在该点被换行,就像它不会在单词中间被换行一样。

此外,正如Svend在他的评论中指出的那样,非间断空间并不是折叠的。

其他回答

HTML解析器不将第一个空格视为空白,而将第二个空格视为空白。因此,“”并不一定会出现在特定的HTML标记中,而不可分割的空间总是会出现。

一个是非间断空间,另一个是规则空间。非换行空格意味着该行不应该在该点被换行,就像它不会在单词中间被换行一样。

此外,正如Svend在他的评论中指出的那样,非间断空间并不是折叠的。

@Zoidberg是对的, 例子:

<h1>title</h1> <h2>date</h2>

是否会在标题标记之间不显示空格

& nbsp ; 

将做空格:)

如前所述,在有“无换行空格”的地方,您将不会收到换行符。

还要注意,只包含“”的元素可能会错误地显示,其中&nbsp;将工作。至少在i.e. 6中(据我所知,IE7也有同样的问题),如果你有一个空的表格元素,如果没有内容,或者只有空白,它就不会对元素应用样式,例如边框。因此,下面的代码将不带边框:

<td></td>
<td> <td>

而边界将在本例中显示:

<td>& nbsp;</td>

嗯-不得不放一个虚拟空间,让它在这里正确渲染

你可以在这里看到一个工作示例:

http://codepen.io/anon/pen/GJzBxo

and

http://codepen.io/anon/pen/LVqBQo

相同的div,相同的文本,不同的空格

<div style="width: 500px; background: red"> [loooong text with spaces]</div>

vs

<div style="width: 500px; background: red"> [loooong text with &nbsp;]</div>