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的约束。
您不必在内联脚本或样式表(在某些情况下)中添加// <