定義和用法 <!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標籤以前。
<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。
在 HTML 4.01 中,<!DOCTYPE> 聲明引用 DTD,由於 HTML 4.01 基於 SGML。DTD 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容。
HTML5 不基於 SGML,因此不須要引用 DTD。
提示:請始終向 HTML 文檔添加 <!DOCTYPE> 聲明,這樣瀏覽器才能獲知文檔類型。
如今瀏覽器採用兩種模式解析CSS :怪異(兼容)模式 標準(嚴格)模式;
緣由:在W3C標準出臺以前,不一樣瀏覽器在頁面的渲染上沒有統一的規範,差別比較大,瀏覽器爲了向前兼容,因此採用Quirks mode(怪異模式)
W3C標準出臺後,瀏覽器對頁面渲染有了統一的標準,採用統一標準的就是Strict mode(標準模式) php
在標準模式中,瀏覽器根據規範呈現頁面;在混雜模式中,頁面以一種比較寬鬆的向後兼容的方式顯示。
一旦聲明瞭<!DOCTYPE>就會採用標準模式,沒有聲明就會採用怪異模式
名詞解釋:DTD 【 Document Type Definition】 做用:定義XML文檔的合法構建模塊
SGML(Standard Generalized Markup Language,即標準通用標記語言)【http://wiki.mbalib.com/wiki/SGML】
如下內容做爲了解(從網上找的,如今基本都是標準模式,只是做爲拓展能夠了解下):
兩種模式區別:
區別是:
1.在嚴格模式中 :width是內容寬度 ,元素真正的寬度 = margin-left + border-left-width + padding-left + width + padding-right + border-right- width + margin-right;
在怪癖模式中 :width則是元素的實際寬度 ,內容寬度 = width - ( padding-left + padding-right + border-left-width + border-right-width)
html
2)能夠設置行內元素的高寬
在Standards模式下,給span等行內元素設置wdith和height都不會生效,而在quirks模式下,則會生效。
3)可設置百分比的高度
在standards模式下,一個元素的高度是由其包含的內容來決定的,若是父元素沒有設置高度,子元素設置一個百分比的高度是無效的。
4)用margin:0 auto設置水平居中在IE下會失效
使用margin:0 auto在standards模式下能夠使元素水平居中,但在quirks模式下卻會失效,quirk模式下的解決辦法,用text-align屬性:
body{text-align:center};#content{text-align:left}
5)quirk模式下設置圖片的padding會失效
6)quirk模式下Table中的字體屬性不能繼承上層的設置
7)quirk模式下white-space:pre會失效
參考網站:https://blog.csdn.net/petrel_...
轉載於猿2048:➽《<!DOCTYPE>聲明》web