SGML引入了文檔類型的概念,並由此引入了文檔類型定義(Document Type Definition: DTD)。文檔類型定義 (DTD) 實際上就是一套關於標記符的語法規則,它包含了對元素的定義,指出能夠在文檔中使用哪些標記符, 它們應該按什麼次序出現, 哪些標記符能夠出現於其它標記符中, 哪些標記符有屬性, 等等。屬於某種類型的文檔,能夠經過一個應用程序來解析,檢查是否全部的元素都被定義以及元素出現的次序是否正確。屬於同一種類別的文檔能夠按照一致的方式來處理。html
document type文檔類型的縮寫,用來指定XHTML和HTML版本,告知瀏覽器用什麼標準解析這個文檔。
DOCTYPE不存在或格式不正確會致使文檔以兼容模式呈現html5
<!DOCTYPE 頂級元素 可用性 "註冊//組織//類型 標籤 版本 類型定義//語言" "url">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> //doctype首先根據-//W3C//DTD HTML 4.01 Transitional//EN查找相應引用對象,找不到則使用後面的url(這是永久存在的)
HTML5 不基於 SGML,所以不須要對DTD進行引用,可是須要doctype來規範瀏覽器的行爲(讓瀏覽器按照它們應該的方式來運行);而HTML4.01基於SGML,因此須要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。瀏覽器
模式能夠經過document.compatMode得到(CSS1Compat標準模式,BackCompat怪異、兼容模式)框架
讓IE的行爲與(包含非標準特性的)IE5相同。這是一種比較寬鬆的向後兼容的模式。混雜模式一般模擬老式瀏覽器的行爲,以防止老站點沒法工做。PS:瀏覽器按照本身的方式解析代碼ui
標準模式的排版和JS運做模式都是以該瀏覽器支持的最高標準運行 PS:瀏覽器按照 W3C 標準解析代碼編碼
這種模式下的瀏覽器特性有不少都是符合標準的,不標準的地方主要體如今處理圖片間隙的時候(在表格中使用圖片時問題最明顯)。url
IE8引入的一種新的文檔模式,超級文檔模式可讓IE以其全部版本中最符合標準的方式來解釋網頁內容。
如何觸發以上模式詳見https://hsivonen.fi/doctype/#handlingcode