文件模式是用於指定瀏覽器使用什麼樣的標準來正確的顯示網頁,各個標準的解析存在著差異
文件型別的分類
文件模式大致分為三種型別:
- 混雜模式(quirks mode)
- 標準模式(standards mode)
- 準標準模式(almost standards mode)
混雜模式會讓 IE 的行為與(包含非標準特性的)IE5 相同,而標準模式則讓 IE 的行為更接近標準行為。雖然這兩種模式主要影響 CSS 內容的呈現,但在某些情況下也會影響到 JavaScript 的解釋執行;而準標準模式下的瀏覽器特性有很多都是符合標準的,但也不盡然。不標準的地方主要體現在處理圖片間隙的時候(在表格中使用圖片時問題最明顯)。如果在文件開始處沒有發現文件型別宣告(DTD),則所有瀏覽器都會預設開啟混雜模式
文件型別宣告的幾種形式
HTML5
<!DOCTYPE html>
HTML 4.01 Strict
該DTD包含所有html元素和屬性,但不包括展示性和啟用的元素(如font),不允許框架Framesets。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
該 DTD 等同於 HTML 4.01 Transitional,但允許框架集內容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
該 DTD 等同於 XHTML 1.0 Transitional,但允許框架集內容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
該 DTD 等同於 XHTML 1.0 Strict,但允許新增模型(例如提供對東亞語系的 ruby 支援)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
部分內容參考:HTML DOCTYPE標籤