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


当前回答

@Zoidberg是对的, 例子:

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

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

& nbsp ; 

将做空格:)

其他回答

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

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

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

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

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

而边界将在本例中显示:

<td>& nbsp;</td>

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

多个普通空格字符(空格、制表符和换行符)被视为单个空格字符:

对于除PRE之外的所有HTML元素,空格序列分隔“单词”(我们在这里使用术语“单词”来表示“非空格字符序列”)。当格式化文本时,用户代理应该识别这些单词,并根据特定的书面语言(脚本)和目标媒体的约定来布局它们。

So

foo    bar

显示为

foo bar

但是始终显示无间断空间。所以

foo&‍nbsp;&‍nbsp;&‍nbsp;bar

显示为

foo   bar

@Zoidberg是对的, 例子:

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

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

& nbsp ; 

将做空格:)

除了这里的其他答案外,非间断空格不会像常规空格那样被“折叠”。例如:

<!——都是——> < p > Word1 Word2 < / p > <!——和——> < / p > < p > Word1 Word2 <!——将在任何浏览器上呈现相同的效果——> <!—下图在渲染时保留空格。--> < p > Word1&nbsp;,,,,, Word2 < / p >