VS 2012 RC中的所有新HTML文档类型是什么?

时间:2012-06-02 15:13:01

标签: html visual-studio html5 visual-studio-2012

我刚刚安装了VS 2012 RC,并且在HTML工具栏下拉列表中有一堆新选项:

  • DOCTYPE:HTML5
  • HTML5
  • XHTML5

两个HTML5选项有什么区别?我认为HTML5的建议不是指定DOCTYPE,所以第一个选项有点像“你想要一些带有咖啡因的咖啡因吗?”

我很确定W3C放弃了XHTML,转而支持不断发展的HTML,那么这个新的XHTML5选项又是什么呢?更新:看起来像维基百科had an answer

提前致谢!

更新:为未答复的位发布new question

PS:我不是在寻找下拉列表目的的解释,而是解释选择“DOCTYPE:HTML5”和“HTML5”之间的区别。

2 个答案:

答案 0 :(得分:6)

关于HTML5与DOCTYPE:HTML5问题,这是我在使用VS 2012 RTM时观察到的:

DOCTYPE:{value}选项告诉VS检查您的页面并尝试从DOCTYPE和html标签中找出要应用的验证级别。例如,如果我创建一个以如下开头的页面:

<!DOCTYPE html>
<html>
...

然后DOCTYPE:{value}选项变为DOCTYPE:HTML5。但是,如果我的网页开头是这样的:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
...

然后它变成DOCTYPE:XHTML5。

没有DOCTYPE:前缀的选项会强制VS使用所选的验证级别,无论页面的结构/内容如何建议。

答案 1 :(得分:2)

XHTML 5.0,通常编写为XHTML5,表示XHTML序列化中的HTML5。参考:W3C HTML5草案中的HTML vs XHTML。所以它是使用符合XML的标记编写的HTML5。是的,名字“XHTML5”很奇怪而且令人困惑,但它可能是因为它假定的凉爽因素而被选中的。

所有HTML5草稿都需要使用DOCTYPE前导码。参见例如The DOCTYPE in W3C HTML5草稿。它甚至不是正式的文档类型声明(HTML5没有DTD,my attempts at writing one表明它会有问题)。相反,它只是一个魔术字符串,用于使浏览器应用“标准模式”与“quirks mode”。它做得很好。

要查看“DOCTYPE:HTML5”和“HTML5”之间的区别,请查看它们对结果源代码的影响。我敢打赌,后者是指没有DOCTYPE前导码的HTML5,这是不合逻辑的,因为HTML5需要前导码。如果是这种情况,“HTML5”会将浏览器抛到“怪癖模式”,这通常对任何新页面都不好,但如果想要避免重大改写,通常需要旧页面。