HTML 5与XHTML 1.0 Transitional?

看起来HTML 5将被Firefox 3.1和其他浏览器支持(部分)。 它增加了对视频和音频作为标签的支持,但这些都是XHTML 1.0 Transitional无法识别的新标签。 如果我在Firefox的未来版本中使用新的HTML 5标记,但是将XDML用于DTD,那么该行为应该是什么? 如果我将HTML 5标记与XHTML 1.0 Trans混合呢?

这变得令人困惑。 他们为什么不把这些标签添加到XHTML中? 我们如何支持XHTML和HTML 5?

HTML 5上的视频:http://www.youtube.com/watch?v = xIxDJof7xxQ


那么,一般来说HTML是SGML,而XHTML是用XML表示的。 因此,创建XHTML与HTML相比具有更多限制(以标记的形式)。 (基于SGML的与基于XML的HTML)

正如维基百科中提到的那样,HTML 5也会有一个XHTML变体(XHTML 5)。

经验法则:你应该总是使用有效的标记。 这也意味着你不应该在XHTML 1.0 Transitional中使用提及的<video><audio>标签,因为那些标签不是该规范的一个元素。 如果您真的需要使用这些标签(我非常怀疑),那么您应该确保使用HTML 5 / XHTML 5 DTD来指定您的文档在该DOCTYPE中。

在给定的实施状态(AFAIK,标准甚至没有解决,但是正确?)中使用HTML 5或XHTML 5可能会适得其反,因为几乎所有用户都可能看不到网站呈现出正确的状态。

编辑2013:由于最近downvotes和由于这个接受的答案不能被删除(我),我想补充说,HTML5的支持和标准化过程现在完全不同于我在五年前写这个答案时。 由于大多数主流浏览器支持HTML5草稿的大部分内容,并且由于很多内容可以在旧版浏览器中用polyfills修复,我现在主要使用HTML5。


HTML5比XHTML 1.0更容易编写。

  • 您不必手动声明“http://www.w3.org/1999/xhtml”命名空间。

  • 您不必为脚本和样式元素添加类型属性(它们默认为text / javascript和text / css)。

  • 浏览器只是忽略大部分内容,您不必使用长文档类型。 您必须使用<!DOCTYPE html>,这很容易记住。

  • 您没有选择在doctype中包含或不包含dtd uri,并且您没有在过渡和严格之间进行选择。 你只需要一个严格的文档类型来调用完整的标准模式。 这样,您不必担心偶然处于几乎标准模式或怪癖模式。

  • 字符集声明要简单得多。 这只是<meta charset =“utf-8”>。

  • 如果您发现将void元素编写为<name>会令人困惑,如果需要,可以使用<name />。

  • HTML5在http://validator.nu/上有一个非常好的验证器。 验证器不受不能表达所有规则的蹩脚DTD的约束。

  • 您不必在内联脚本或样式表(在某些情况下)中添加// <![CDATA等)来验证。

  • 如果需要,您可以使用嵌入。

  • 就语法而言,当您使用HTML5时,您最终会获得更清晰,更易于阅读的标记,并始终会调用标准模式。 当你使用XHTML 1.0(作为text / html)时,你指定了一堆crud(为了验证蹩脚的dtd),浏览器会自动执行。


    神话和误解在这个线索中比比皆是。

  • XHTML 1.0比HTML 5旧。它不能使用任何新词汇。 事实上,它的主要卖点是它使用与HTML 4.01完全相同的词汇。

  • 不会有XHTML 1.2 - 最有可能的。 这是不需要的。 XHTML 5是HTML 5的XML序列化。相同的词汇表,不同的解析规则。

  • HTML在浏览器中从未被视为真正的SGML。 没有浏览器曾经实现过符合SGML的解析器。 HTML 5将把这个事实变成一个规则,HTML序列化将遵循今天的事实标准。 人们也许可以说它是“SGML-ish”。

  • 如前所述,DTD在浏览器中只有一个用途,那就是区分标准合规模式和怪癖模式。 因此它只影响样式和脚本。 如果您在具有严格文档类型的页面上使用框架,则它们将呈现得很好。 即使后者是可憎的,前者也不符合任何现行标准,即使嵌入甚至是<marquee>也是如此。 不过,它是HTML 5的一部分。

  • 无论序列化,XML还是HTML,都可以使用视频和音频。 它们是HTML 5和XHTML 5的一部分。解析阶段结束后,浏览器将构建文档的内部DOM。 无论序列化如何,DOM都将用于所有实际目的。 是的,无论文档类型如何,使用text / html发送的XHTML仍然是正常的html。

  • 链接地址: http://www.djcxy.com/p/18977.html

    上一篇: HTML 5 versus XHTML 1.0 Transitional?

    下一篇: When is a CDATA section necessary within a script tag?