DTD(文檔類型定義)是一組機(jī)器可讀的規(guī)則,他們定義 XML 或 HTML 的特定版本中允許有什么,不允許有什么。在解析網(wǎng)頁(yè)時(shí),瀏覽器將使用這些規(guī)則檢查頁(yè)面的有效性并且采取相應(yīng)的措施。瀏覽器通過(guò)分析頁(yè)面的 DOCTYPE 聲明來(lái)了解要使用哪個(gè) DTD ,由此知道要使用 HTML 的哪個(gè)版本。
DOCTYPE 當(dāng)前有兩種風(fēng)格,嚴(yán)格( strict )和過(guò)渡( transitional )。過(guò)渡 DOCTYPE 的目的是幫助開發(fā)人員從老版本遷移到新版本。
如果發(fā)送具有正確的 MIME 類型的 XHTML 文檔,理解 XML 的瀏覽器將不顯示無(wú)效的頁(yè)面。
瀏覽器模式
瀏覽器有兩種呈現(xiàn)模式:標(biāo)準(zhǔn)模式和混雜模式(quirks mode)。在標(biāo)準(zhǔn)模式中,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁(yè)面;在混雜模式中,頁(yè)面以一種比較寬松的向后兼容的方式顯示。
DOCTYPE 切換
對(duì)于 HTML 4.01 文檔,
包含嚴(yán)格 DTD 的 DOCTYPE 常常導(dǎo)致頁(yè)面以標(biāo)準(zhǔn)模式呈現(xiàn)。
包含過(guò)度 DTD 和 URI 的 DOCTYPE 也導(dǎo)致頁(yè)面以標(biāo)準(zhǔn)模式呈現(xiàn)。
但是有過(guò)度 DTD 而沒(méi)有 URI 會(huì)導(dǎo)致頁(yè)面以混雜模式呈現(xiàn)。
DOCTYPE 不存在或形式不正確會(huì)導(dǎo)致 HTML 和 XHTML 文檔以混雜模式呈現(xiàn)。