DOCTYPE標簽是一種標准通用標記語言的文檔類型聲明,它的目的是要告訴標准通用標記語言解析器,它應該使用什么樣的文檔類型定義(DTD)來解析文檔。
Doctype可聲明三種DTD類型,分別表示嚴格版本、過渡版本以及基於框架的 HTML 文檔。
以下主要介紹超文本標記語言以及可擴展超文本標記語言兩種集合
(一)超文本標記語言
超文本嚴格文檔類型定義:
如果需要干凈的標記,免於表現層的混亂,則使用此類型。請與層疊樣式表配合使用:
(公共標識符稱為:“-//W3C//DTD HTML 4.01//en”。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//en" "http://www.w3. org/TR/html4/strict.dtd">
超文本過渡文檔類型定義:
可包含萬維網聯盟所期望移入樣式表的呈現屬性和元素。如果讀者使用了不支持層疊樣式表的瀏覽器以至於不得不使用超文本標記語言的呈現特性時,則使用此類型:
(公共標識符稱為:“-//W3C//DTD HTML 4.01 Transitional//en”。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//en" "http://www.w3. org/TR/html4/loose.dtd">
超文本框架集文檔類型定義:
框架集文檔類型定義應當被用於帶有框架的文檔。除 frameset 元素取代了 body 元素之外,等同於過渡文檔類型定義:
(公共標識符稱為:“-//W3C//DTD HTML 4.01 Frameset//en”。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//en" "http://www.w3. org/TR/html4/frameset.dtd">
(二)可擴展超文本標記語言
可擴展超文本標記語言嚴格文檔類型定義:
(公共標識符稱為:“-//W3C//DTD XHTML 1.0 Strict//en”。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//en" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd">
可擴展超文本標記語言過渡文檔類型定義:
可包含 W3C 所期望移入樣式表的呈現屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至於您不得不使用 XHTML 的呈現 特性時,請使用此類型:
(公共標識符稱為:“-//W3C//DTD XHTML 1.0 Transitional//en”。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//en" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
可擴展超文本標記語言框架集文檔類型定義:
當您希望使用框架時,請使用此文檔類型定義!
(公共標識符稱為:“-//W3C//DTD XHTML 1.0 Frameset//en”。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//en" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
當瀏覽器廠商開始創建與標准兼容的瀏覽器時,他們希望確保向后兼容性。為了實現這一點,他們創建了兩種呈現模式:標准模式和混雜模式
>>在標准模式中,瀏覽器以其支持的最高標准呈現頁面。
>>在混雜模式中,頁面以一種比較寬松的向后兼容的方式顯示。混雜模式通常模擬老式瀏覽器的行為以防止老站點無法工作。
關於模式觸發
瀏覽器根據DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現方法。
如果XHTML、HTML 4.01文檔包含形式完整的DOCTYPE,那么它一般以標准模式呈現。
包含過渡DTD和URI的DOCTYPE也導致頁面以標准模式呈現,但是有過渡DTD而沒有URI會導致頁面以混雜模式呈現。
DOCTYPE不存在或形式不正確會導致HTML和XHTML文檔以混雜模式呈現。
html5既然沒有DTD,也就沒有嚴格模式與寬松模式的區別,html5有相對寬松的語法,實現時,已經盡可能大的實現了向后兼容。
