到底是個什么,有沒有影響?">
前兩天和朋友談到<!DOCTYPE>,今天將網(wǎng)上學(xué)習(xí)到的資料在這里整理一下
因為HTML5的風(fēng)靡人們慢慢的弱化了對<!DOCTYPE>的理解,但是現(xiàn)在還是有很多的面試官
在問這個問題,所以還是有必要對其了解一下,以便以后有些許談資。
要弄清楚這個問題,我們首先來解釋一下瀏覽器的“標準模式”和“怪異模式”。
什么是“怪異模式”?簡單說就是瀏覽器為了兼容很早之前針對舊版本瀏覽器設(shè)計、
并未嚴格遵循W3C標準的網(wǎng)頁而產(chǎn)生的一種頁面渲染模式,而在這時渲染引擎也會切換到需
要的版本。
什么是“標準模式”?當用戶需要顯示一些新的、滿足W3C規(guī)范的頁面時,渲染引擎切換到一個與“
怪異模式”相對的“標準模式”,在此模式下渲染引擎就是當前的最新版本。
這樣也就滿足了更多的W3C規(guī)范。
最后,“標準模式”和“怪異模式”合起來就稱為瀏覽器的文檔模式。
當在IE6的時代,為了既能遵循W3C標準,又能保證舊的網(wǎng)頁能繼續(xù)瀏覽,這樣就產(chǎn)生了“
標準模式”和“怪異模式”。這兩種渲染模式都存在一個瀏覽器上,但是手動切換又不切實際,
微軟就提出了文檔類型(DOCTYPE)這個在當時非常“新穎”的概念
<!DOCTYPE>就這樣“華麗”的誕生了,先不說去談?wù)撍暮脡模覀冎徽f說
它的作用:告知瀏覽器的解析器用什么文檔標準去解析這個文檔。
DOCTYPE 不存在或格式不正確會導(dǎo)致文檔以“怪異模式”呈現(xiàn)。
HTML5 不基于SGML,因此不需要對DTD(Document Type Definition)進行引用,但是需要
doctype來規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)有的方式來運行)。
而HTML4.01基于SGML,所以需要對DTD(Document Type Definition)進行引用,
告知瀏覽器文檔所使用的文檔類型。
注:SGML是國際上定義電子文檔和內(nèi)容描述的標準,基本思想是把文檔的內(nèi)容與樣式分開。
由SGML聲明(SGML Declaration)、文檔類型定義(Document Type Definition,DTD)和文檔實例(Document Instance)組成。
【 微信掃一掃 】