為什麼我們在 HTML 文件中使用 DOCTYPES?
DOCTYPE 不過是一種文件型別宣告,它是一系列必須附加到特定 html、xml 或 sgxml 線上文件的指南。由於它對於 HTML 版本是必需的,因此如果使用者應用程式在此時遇到任何問題,則可以快速確定問題是由於 HTML 版本與使用者的瀏覽器之間不相容造成的。
DOCTYPE 的格式
共有三種類型
普通
已棄用
舊版工具相容
我們為什麼要使用 DOCTYPE?
DOCTYPE 在 HTML 文件的 head 部分之前宣告。此宣告不是 HTML 標籤,但它充當向 Web 瀏覽器提供有關在 HTML 文件中預期哪些型別的元素和屬性的資訊。
此宣告在兩種情況下使用
DOCTYPE 檢測或切換 - 向 Web 瀏覽器提供有關要使用哪種渲染模式(怪癖模式、完全標準模式或幾乎標準模式)的資訊。如果未宣告 doctype,Web 瀏覽器仍將呈現文件,但由於 DOCTYPE 檢測或切換,結果可能與預期不符。
幫助標記驗證器根據特定規則集檢查這些 Web 文件的有效性。這些驗證器檢查 HTML 文件中元素的語法以及它們是否被正確使用。因此,此 doctype 宣告告知這些驗證服務預期哪種型別的元素。
HTML5 的 DOCTYPE 語法
HTML5 及更高版本的 Doctype 語法 -
<!DOCTYPE html>
舊版 HTML 的 DOCTYPE 語法
舊版本中 DOCTYPE 的宣告更為複雜,因為它必須引用文件型別定義。
此外,HTML 4.01 doctype 需要嚴格、過渡或框架集 DTD 宣告。每個 DTD 都有其獨特的用例,如下所述。
嚴格 DTD - 用於不包含特性或元件的網站。
嚴格 HTML 4.01 的 Doctype 語法 -
<!DOCTYPE HTML PUBLIC "-//TUTORIALSPOINT//DTD HTML 4.01//EN" "http://www.Tutorialspoint.org/TR/html4/strict.dtd">
過渡 DTD - 用於包含屬性和元素的網頁。
過渡 HTML 4.01 的 Doctype 語法 -
<!DOCTYPE HTML PUBLIC "-//TUTORIALSPOINT//DTD HTML 4.01 Transitional//EN" "http://www.Tutorialspoint.org/TR/html4/loose.dtd">
框架集 DTD - 用於包含框架的網頁。
框架集 HTML 4.01 的 Doctype 語法 -
<!DOCTYPE HTML PUBLIC "-//TUTORIALSPOINT//DTD HTML 4.01 Frameset//EN" "http://www.Tutorialspoint.org/TR/html4/frameset.dtd">
大小寫敏感性
DOCTYPE 不區分大小寫。只要拼寫和語法相同,它就可以以任何可能的方式宣告。
<!DOCTYPE html> <!DocType html> <!doctype html> <!docTYPE html> <!DOCType HTML>
以及許多其他方式……