Doctype可聲明三種DTD類型,分別表示嚴格版本、過渡版本以及基於框架的 HTML 文檔。
由於歷史的原因,瀏覽器對頁面的渲染方式是不一樣的。在W3C標准出來之前,瀏覽器對頁面的渲染沒有同一的標准,產生了差異,quirks mod(混雜模式或者兼容模式),但在W3C標准出台之后,瀏覽器對頁面的渲染有了同一的標准即(嚴格模式或標准模式)。但是為了保證以前就得頁面仍然正常顯示,有的瀏覽器就保存了這兩種渲染模式(標准兼容模式)。那么究竟采用哪一種方式進行渲染,就要看DOCTYPE生命中的DTD。
1、文檔類型定義(DTD)Document Type Definition
是一套為了進行程序間的數據交換而建立的關於標記符的語法規則。
可通過比較文檔和文檔類型定義文件來檢查文檔是否符合規范,元素和標簽使用是否正確。
2、兩種呈現模式:標准模式和混雜模式
在標准模式中,瀏覽器以其支持的最高標准呈現頁面;
在混雜模式中,頁面以一種比較寬松的向后兼容(兼容老的版本)的方式顯示。混雜模式通常模擬老式瀏覽器的行為以防止老站點無法工作。
3、模式觸發
瀏覽器根據DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現方法。
如果XHTML、HTML 4.01文檔包含形式完整的DOCTYPE,那么它一般以標准模式呈現。
包含過渡DTD和URI的DOCTYPE也導致頁面以標准模式呈現,但是有過渡DTD而沒有URI會導致頁面以混雜模式呈現。
DOCTYPE不存在或形式不正確會導致HTML和XHTML文檔以混雜模式呈現。
html5既然沒有DTD,也就沒有嚴格模式與寬松模式的區別,html5有相對寬松的語法,事實上,已經盡可能大的實現了向后兼容。