我刚刚安装了VS 2012 RC,并且在HTML工具栏下拉列表中有一堆新选项:
两个HTML5选项有什么区别?我认为HTML5的建议不是指定DOCTYPE,所以第一个选项有点像“你想要一些带有咖啡因的咖啡因吗?”
我很确定W3C放弃了XHTML,转而支持不断发展的HTML,那么这个新的XHTML5选项又是什么呢?更新:看起来像维基百科had an answer。
提前致谢!
更新:为未答复的位发布new question。
PS:我不是在寻找下拉列表目的的解释,而是解释选择“DOCTYPE:HTML5”和“HTML5”之间的区别。
答案 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”会将浏览器抛到“怪癖模式”,这通常对任何新页面都不好,但如果想要避免重大改写,通常需要旧页面。