2013-04-22 84 views
-3

我想知道DOCTYPE标签是如何产生的。DOCTYPE标签是如何产生的?

我理解标签的目的是提醒浏览器应该如何呈现HTML文档,但我不明白他们为什么会为它创建一个新标签,而不是将该信息作为属性HTML标记:HTML标记已经可以使用语言属性。

我认为这可能与预处理有关,因为doctype在每个文档的开头都是必需的(尽管如果DOCTYPE不在那里,HTML标签将位于文档的开头),但我是希望得到比我自己的猜想更明确的答案。

我已经尝试在Google中使用几个查询作为答案,但大多数情况下会返回“为什么您应该使用文档类型”。

+0

http://www.quirksmode.org/css/quirksmode.html – 2013-04-22 20:33:27

+0

@Matt有趣的文章。但这不是我正在寻找的。我想知道使用doctype标签的逻辑,而不是将这些信息粘贴到......也许是HTML标签的一个属性。 – chrtan 2013-04-22 20:45:53

回答

2

我明白了标签的目的是提醒它应该如何呈现HTML文档

文档类型相关联与DTD的SGML文档的浏览器。 DTD用于验证(描述允许哪些元素和属性在哪里)以及扩展实体引用。 HTML 4.x及更低版本是SGML应用程序。

XML从SGML派生而来,Doctype用于XML中的相同目的。 XHTML是一个XML应用程序。

确定呈现模式的用途是浏览器供应商试图处理围绕浏览器中的错误设计的网页的黑客攻击。

为了向后兼容渲染模式开关,HTML 5重新创建了Doctype目的。

我不明白为什么他们创造了一个新的标签为它而不是把这些信息作为HTML标记

然后验证程序将具有的属性必须解析HTML开始标记在知道是否允许HTML开始标记之前,它必须解析它,然后才能扩展在其属性值中使用的任何实体引用。

+0

谢谢你的详细解答。这个问题困扰了我一段时间。我从来不知道这是一个黑客;大多数文章都会让它听起来很自然。再一次,非常感谢您的详细回复。 – chrtan 2013-04-22 21:18:22

相关问题