为什么是<!文档类型>-标记未关闭

  • 本文关键字:gt- 类型 文档 html
  • 更新时间 :
  • 英文 :


这是一个普遍的问题,我的教授都无法回答:为什么我不必关闭HTML中的<!Doctype >-标记?每隔一个标签都必须关闭,比如<head></head><html></html>!那么为什么不<!Doctype>呢?

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

相关参考文献包括SGML标准(在线不可用)、XML规范和HTML5CR

问题中"必须关闭所有其他标签"的表述在其他方面也具有误导性。关闭标签(如<p>)和关闭元素(如<p>foo</p>)是两回事。>关闭一个标记。元素并不总是需要显式的结束标记,因为结束可以通过各种规则推断;只有XHTML需要所有元素都有明确的结束标记(如果我们将<br/>这样的"自关闭"标记同时作为开始标记和结束标记,那么它就是这样)。但是对于这个doctype的东西,除了声明的结束>之外,不需要指示或推断结束。

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

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

声明不是HTML标记;它是对网络浏览器的一条指令,说明页面是用什么版本的HTML编写的。

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

这是你的答案吗?

相关内容