为什么-Tag没有关闭

时间:2014-04-11 06:53:50

标签: html html5

这是一个普遍的问题,我的教授都不能回答这个问题: 为什么我不必关闭HTML中的<!Doctype > - 标记? 每个其他代码都必须关闭,例如<head></head><html></html>! 那么为什么不<!Doctype>

3 个答案:

答案 0 :(得分:8)

首先,它根本不是标签。在名义上基于SGML或XML的HTML版本中,它是文档类型声明,它具有在SGML和XML中定义的特定语法。作为整个文档的声明,它与HTML元素完全不同,它在元素之前。在HTML语法的HTML5中,它只是一个没有定义角色的必需字符串。 (实际上,它将浏览器置于“标准模式”与“怪癖模式”相反。浏览器实际上并没有读取声明指向的文档类型定义。验证器可能会这样做。)

相关参考文献是SGML标准(不在线提供),XML specificationHTML5 CR

在问题中“每个其他标签必须关闭”的陈述的提法在其他方面也具有误导性。关闭标记(如<p>)并关闭元素(如<p>foo</p>)是两回事。 >关闭标记。元素并不总是需要显式的结束标记,因为结尾可以通过各种规则来推断;只有XHTML需要所有元素的显式结束标记(如果我们将<br/>这样的“自闭”标记计为开始标记和结束标记,就像它一样。但是对于这个doctype事物,除了声明的结尾>之外,不需要指出或推断出任何结束。

答案 1 :(得分:1)

因为它是 NOT 标签,所以它是一个声明。

http://www.w3schools.com/tags/tag_doctype.asp

答案 2 :(得分:1)

  

声明不是HTML标记;它是Web浏览器关于页面编写的HTML版本的指令。

来源:http://www.w3schools.com/tags/tag_doctype.asp

这是你的答案吗?