【HTML&CSS】 第一章:DTD文檔聲明

<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標籤以前。html

<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪一個 HTML 版本進行編寫的指令。web

在 HTML 4.01 中,<!DOCTYPE> 聲明引用 DTD,由於 HTML 4.01 基於 SGML。DTD 規定了標記語言的規則,這樣瀏覽器才能正確地呈現內容。瀏覽器

HTML5 不基於 SGML,因此不須要引用 DTD。ruby

提示:請始終向 HTML 文檔添加 <!DOCTYPE> 聲明,這樣瀏覽器才能獲知文檔類型。框架

 

經常使用的 DOCTYPE 聲明佈局

HTML 5ui

<!DOCTYPE html>

 

HTML 4.01 Strictspa

該 DTD 包含全部 HTML 元素和屬性,但不包括展現性的和棄用的元素(好比 font)。不容許框架集(Framesets)。code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

 

HTML 4.01 Transitionalhtm

該 DTD 包含全部 HTML 元素和屬性,包括展現性的和棄用的元素(好比 font)。不容許框架集(Framesets)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

 

HTML 4.01 Frameset

該 DTD 等同於 HTML 4.01 Transitional,但容許框架集內容。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">

 

XHTML 1.0 Strict

該 DTD 包含全部 HTML 元素和屬性,但不包括展現性的和棄用的元素(好比 font)。不容許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 

XHTML 1.0 Transitional

該 DTD 包含全部 HTML 元素和屬性,包括展現性的和棄用的元素(好比 font)。不容許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

XHTML 1.0 Frameset

該 DTD 等同於 XHTML 1.0 Transitional,但容許框架集內容。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

 

XHTML 1.1

該 DTD 等同於 XHTML 1.0 Strict,但容許添加模型(例如提供對東亞語系的 ruby 支持)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

 

 

 

 

怪異模式:僅在沒有在文檔首行添加!DOCTYPE聲明的狀況下會出現

 

 

腳本檢測

能夠經過document對象有個屬性compatMode ,它有兩個值:

「BackCompat」    對應怪異模式

「CSS1Compat」    對應標準模式

 

近似標準模式

近似標準模式(Almost Standards Mode)從字面意思上看與標準模式很是相似,但確實有小的差異。主要體如今對於表格單元格內垂直方向佈局渲染差別。IE8 開始、Firefox、Chrome、Safari、Opera 7.5 開始,這些瀏覽器的標準模式更加嚴格的遵循了 CSS2.1 規範,故對於在目前看來不太「標準」的之前的標準模式,被賦予了「近似標準模式」的名字。可是在較早的 IE6 IE7 以及 Opera 7.5 以前版本中,瀏覽器沒法嚴格遵循 CSS2.1 規範,故對於它們來講沒有這個近似標準模式,也能夠理解爲它們的近似標準模式就是標準模式。

到目前爲止,能夠看到各瀏覽器主要包含了三種模式。在 HTML5 草案中,更加明確的規定了模式的定義:

傳統名稱

HTML5 草案名稱

document.compatMode 返回值

standards mode 或者 strict mode

no-quirks mode

CSS1Compat

almost standards mode

limited-quirks mode

CSS1Compat

quirks mode

quirks mode

BackCompat

相關文章
相關標籤/搜索