Bri*_*sen 178
一个是不间断的空间,另一个是常规空间.不间断的空间意味着该行不应该被包裹,就像它不会被包裹在单词的中间一样.
此外,正如Svend在评论中指出的那样,不间断的空间不会崩溃.
Guf*_*ffa 65
实体
生成一个不间断的空间,当您不希望在该位置自动换行时使用该空间.常规空间具有字符代码32,而非中断空间具有字符代码160.
例如,当您将数字显示为千位分隔符:1 234 567时,则使用不间断空格,以便不能在单独的行上拆分该数字.如果您显示货币并且金额和货币之间有空格:42 SEK,那么您使用不间断的空间,这样您就不会在一行上获得金额而在下一行中获得货币.
Gra*_*row 45
除了这里的其他答案之外,非破坏空间不会像常规空间那样"折叠".例如,两者
<p>Word1 Word2</p>
Run Code Online (Sandbox Code Playgroud)
和
<p>Word1 Word2</p>
Run Code Online (Sandbox Code Playgroud)
将在任何浏览器上呈现相同的内容
<p>Word1 Word2</p>
Run Code Online (Sandbox Code Playgroud)
将在渲染时保留空格.
Kel*_*net 28
答案不像一个例子..
示例#1:
<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
Hello There
</div>
Run Code Online (Sandbox Code Playgroud)
示例#2:
<div style="width:45px; height:45px; border: solid thin red; overflow: visible">
Hello There
</div>
Run Code Online (Sandbox Code Playgroud)
并链接到小提琴.
你可以在这里看到一个有效的例子:
http://codepen.io/anon/pen/GJzBxo
和
http://codepen.io/anon/pen/LVqBQo
相同的div,相同的文本,不同的"空格"
<div style="width: 500px; background: red"> [loooong text with spaces]</div>
Run Code Online (Sandbox Code Playgroud)
VS
<div style="width: 500px; background: red"> [loooong text with ]</div>
Run Code Online (Sandbox Code Playgroud)
多个普通空白字符(空格,制表符和换行符)被视为一个空白字符:
对于除了
PRE
白色空间序列之外的所有HTML元素,单独的"单词"(我们在这里使用术语"单词"表示"非空白字符的序列").格式化文本时,用户代理应识别这些单词并根据特定书面语言(脚本)和目标介质的约定进行排列.
所以
foo bar
Run Code Online (Sandbox Code Playgroud)
显示为
foo bar
Run Code Online (Sandbox Code Playgroud)
但总会显示不间断的空间.所以
foo&?nbsp;&?nbsp;&?nbsp;bar
Run Code Online (Sandbox Code Playgroud)
显示为
foo bar
Run Code Online (Sandbox Code Playgroud)
如前所述,您将不会收到有"无休息空间"的换行符.
另外要小心,只包含""的元素可能会显示不正确,其中 将工作.至少在ie 6中(据我记得,IE7有相同的问题),如果你有一个空表元素,它将不会对元素应用样式,例如边框,如果没有内容,或者只有白色空间.因此,以下内容不会使用边框呈现:
<td></td>
<td> <td>
Run Code Online (Sandbox Code Playgroud)
边框将显示在此示例中:
<td>& nbsp;</td>
Run Code Online (Sandbox Code Playgroud)
嗯 - 要放入一个虚拟空间,让它在这里正确渲染