2010-11-08 92 views
22

我正在对现有的XHTML1.0 Strict站点应用“HTML4.5”方法。我们的想法是改变文档类型并应用匹配HTML5新元素(如< div class="aside">等)的语义类,并尽我所能避免使用Internet Explorer(IE)中断(例如应用新的<input>类型属性)。导致HTML5验证失败

我遇到的唯一问题是W3C的验证器不喜欢&nbsp;&copy;,而html5.validator.nu没有问题。

我知道HTML5验证器在这个阶段是实验性的。我应该用什么替换&nbsp;?如果是这样,什么?

我在这个网站上的字符集是UTF-8

回答

32

&nbsp;text/html HTML5中没问题,它在W3中对我进行验证。

它在哪里不会验证是在XHTML5。 XML中唯一的内置实体是&amp;&lt;,&gt;&quot;&apos;。 XHTML1通过<!DOCTYPE>引用的DTD引入HTML实体列表,但(X)HTML5不再使用DTD,因此这意味着在XML序列化中不能使用HTML实体。

字符引用如&#xA0;仍然可以。如果您使用正确的编码方式为您的页面提供服务,则可以直接包含U + 00A0无间隔空格字符,而不会转义: 。 (当然,这将是恼人的编辑,如果你的文本编辑器没有在视觉上区分无间断和标准的空间。)的

0

只需更换所有&nbsp;&#160;

+4

我猜测'正确的十进制实体 '应该是' '或者也可以使用十六进制实体' ' – Gauts 2012-06-17 06:44:25