7

是否 允许在语义、Web 标准、可访问性和跨浏览器兼容性方面腾出空间?

4

4 回答 4

6

发明它的原因是为了防止换行(实际上它是一个首字母缩写词“不间断空格”),但是它已经过时了:您应该使用“white-space:nowrap;” CSS 属性。

无论您做什么,都不要使用它来缩进或用作表格单元格之间的“分隔符”。

<p>Hello&nbsp;to&nbsp;you</p>

等价于首选形式

<p style="white-space: nowrap">Hello to you</p>
于 2009-11-07T16:05:14.513 回答
5

由于您用“XHTML”标记了您的问题,因此答案是“视情况而定”。

如果您将 XHMTL 文档作为 XML 提供,那么 Firefox 将不会从 DTD 文件中读取实体。因此,它不会识别命名实体,例如&nbsp;. 但是,这种情况很少见,因为 XHTML 文档通常以 HTML 形式提供以适应不支持的浏览器 (= MSIE)。

也就是说,“创造空间”是一个相当模糊的术语。您应该使用 CSS 来定位元素并在文本中放置缩进(标签内的源代码<pre>除外)。永远不要将空格用于格式化目的(在文本处理应用程序中也是如此)。这在语义上是不可接受的,一旦用户在浏览器中启用了一些自定义设置,它就会与您的布局发生冲突。顾名思义,不间断空格仅用于防止在同一行中的内容之间出现中断,例如产品名称和产品版本号:例如“<code>Ubuntu 10 9.10”,或内部电话号码或公式。

于 2009-11-07T16:08:50.843 回答
3

当然,为什么不呢?在这种情况下$&nbsp;10,为了防止 $ 和 10 之间出现换行符,这是完全可以接受的。

只是不要&nbsp;用于它不打算用于的东西,例如缩进。

于 2009-11-07T16:02:11.573 回答
0

&nbsp;代表非破坏空间,是一个简单的字符实体引用。从语义上讲,它们在 HTML 中的任何文本中都是允许的。

于 2009-11-07T16:04:32.673 回答