名詞解釋
- DTD: Document Type Definition 文檔類型定義
- SGML: Standard Generalized Markup Language 標(biāo)準(zhǔn)通用標(biāo)記語言。
SGML 是一種很強(qiáng)大但很復(fù)雜的標(biāo)記語言硼讽,HTML固阁、XML 就是從中衍生出來的您炉。
<!DOCTYPE>為什么有個“!”?
<!DOCTYPE>聲明不是HTML標(biāo)簽;
<!DOCTYPE>的位置冀膝?
<!DOCTYPE>聲明必須位于HTML文檔的第一行,位于<html>標(biāo)簽之前
<!DOCTYPE>的作用赐纱?
告知瀏覽器用什么標(biāo)準(zhǔn)解析這個文檔。DOCTYPE不存在或格式不正確會導(dǎo)致文檔以兼容模式呈現(xiàn)起胰。
HTML4.01與HTML5 DOCTYPE區(qū)別效五?
HTML5只有一種聲明: <!DOCTYPE html>
HTML4.01有三種聲明:strict, transitional, frameset
HTML4.01基于SGML疼阔,需要對DTD進(jìn)行引用,告知瀏覽器使用的文檔類型玻熙。
HTML5不基于SGML敬尺,不需要對DTD進(jìn)行引用署恍,但需要用DOCTYPE規(guī)范瀏覽器行為盯质。
SGML 最為強(qiáng)大和古老,XML 是 SGML 的一個子集赎瑰,HTML 最初也試圖成為 SGML 的一個子集压储,但 HTML 4 以前并不嚴(yán)格符合 SGML 的標(biāo)準(zhǔn)瓶佳。后來出現(xiàn)了 HTML4臂拓,XHTML (符合 XML 標(biāo)準(zhǔn)的 HTML)傻工,這兩者都符合 SGML 的要求。
W3C 在制定 HTML5 標(biāo)準(zhǔn)時,希望擺脫 SGML 的一些無用的功能和聲明殴蓬,并延續(xù) HTML4 的風(fēng)格津函,而非嚴(yán)格的 XHTML 的風(fēng)格。
頁面的渲染模式
頁面的渲染模式根據(jù)是否聲明了DOCTYPE分別觸發(fā)兼容模式和標(biāo)準(zhǔn)模式魂那。
document.compatMode可以返回當(dāng)前頁面的兼容模式:
document.compatMode
> CSS1Compat //標(biāo)準(zhǔn)模式
> BackCompat //怪異模式皿渗、兼容模式
標(biāo)準(zhǔn)模式頁面排版和JS運(yùn)行模式都是以瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。
兼容模式中琴庵,頁面以寬松向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點(diǎn)無法工作庆寺。