2013-04-22 81 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

相關問題