- <!DOCTYPE html> 是什么:
- DOCTYPE 是Document Type(文檔類型)的縮寫,是文檔類型聲明;
- <!DOCTYPE> 不是html標簽,而是瀏覽器指令,告訴瀏覽器當前頁面使用了哪種版本的html,需要用哪種標准來解析它;
- 在任何版本中都對大小寫不敏感,可以寫成<!doctype html>;
- 簡言之,<!doctype html>就是html5標准網頁聲明,告訴瀏覽器當前文檔所使用的html規范。
- <!DOCTYPE html> 用來做什么?:
背景:
HTML從最開始沒有任何規范,到經歷HTML4,再到現在的HTML5,每個時期的規范都不盡相同,比如在較早版本中,規定標簽必須成對出現,再到現在的<input/>、<br/>等等,這樣不同版本不同的解釋,就需要告訴瀏覽器當前頁面HTML編碼所采用的版本規范。
又因為瀏覽器可以解析的文檔不只是HTML, 還有xhtml,xml...,所以文檔聲明就是在告訴瀏覽器該以什么樣的標准去解析它,以保證瀏覽器可以正確解析文檔類型。因此,在所有HTML文檔中規定DOCTYPE是非常有必要。
作用:- 聲明文檔的解析類型(document.compatMode),避免瀏覽器的怪異模式。
-
document.compatMode:
-
BackCompat:怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。
-
CSS1Compat:標准模式,瀏覽器使用W3C的標准解析渲染頁面。
這個屬性會被瀏覽器識別並使用,但是如果你的頁面沒有DOCTYPE的聲明,那么compatMode默認就是BackCompat,瀏覽器按照自己的方式解析渲染頁面,那么,在不同的瀏覽器就會顯示不同的樣式。
如果你的頁面添加了<!DOCTYPE html>,那么就等同於開啟了標准模式,那么瀏覽器就得老老實實的按照W3C的標准解析渲染頁面,這樣一來,你的頁面在所有的瀏覽器里顯示的就都是一個樣子了。這就是<!DOCTYPE html>的作用。 -
-
- 聲明文檔的解析類型(document.compatMode),避免瀏覽器的怪異模式。
- <!DOCTYPE html> 使用的場景是什么?:
- 聲明必須位於HTML5文檔的第一行,也就是位於所有標簽之前;
- 聲明必須位於HTML5文檔的第一行,也就是位於所有標簽之前;
- 簡述 HTML4.01 和 HTML5 的區別:
- HTML 4.01 中,<!DOCTYPE> 聲明需引用 DTD (文檔類型聲明),因為 HTML 4.01 是基於 SGML (Standard Generalized Markup Language 標准通用標記語言)。DTD 指定了標記語言的規則,確保了瀏覽器能夠正確的渲染內容;
- HTML5 不是基於 SGML,因此不要求引用 DTD;
參考鏈接: