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