5

我刚刚安装了 VS 2012 RC,在 HTML 工具栏下拉列表中它有很多新选项:

  • 文档类型:HTML5
  • HTML5
  • XHTML5

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

我很确定 W3C 放弃了 XHTML,转而支持不断发展的 HTML,那么这个新的 XHTML5 选项是什么?更新:似乎维基百科对此有答案

提前致谢!

更新:为未回答的位发布了一个新问题

PS:我不是在寻找下拉菜单用途的解释,而是对选择“DOCTYPE:HTML5”和“HTML5”之间的区别的解释。

4

2 回答 2

6

关于 HTML5 vs. 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 使用选定的验证级别,而不管页面的结构/内容可能建议什么。

于 2013-02-18T19:40:19.050 回答
2

XHTML 5.0,通常写成XHTML5,意思是XHTML 序列化中的HTML5。参考: W3C HTML5 草案中的HTML 与 XHTML。所以它是使用符合 XML 的标记编写的 HTML5。是的,“XHTML5”这个名字很奇怪而且令人困惑,但选择它可能是因为它假定的酷因素。

所有 HTML5 草稿都需要使用 DOCTYPE 序言。参见例如W3C HTML5 草案中的 DOCTYPE。它甚至不是正式的文档类型声明(HTML5 没有 DTD,而我尝试编写的尝试表明这将是相当有问题的)。相反,它只是一个魔术字符串,用于使浏览器应用“标准模式”与“<a href="http://www.cs.tut.fi/~jkorpela/quirks-mode.html" rel ="nofollow">怪癖模式"。它很好地完成了这项工作。

要查看“DOCTYPE:HTML5”和“HTML5”之间的区别,请查看它们对结果源代码的影响。我敢打赌,后者意味着没有 DOCTYPE 序言的 HTML5,这是不合逻辑的,因为 HTML5 需要序言。如果是这种情况,“HTML5”会使浏览器进入“怪癖模式”,这通常对任何新页面都是不利的,但对于旧页面来说通常是必要的,如果你想避免重大重写的话。

于 2012-06-02T16:04:15.527 回答