文章出處

前面的話

  HTML文檔通常以類型聲明開始,該聲明將幫助瀏覽器確定其嘗試解析和顯示的HTML文檔類型。本文將詳細介紹文檔聲明DOCTYPE

 

特點

  文檔聲明必須是HTML文檔的第一行、且頂格顯示,對大小寫不敏感。因為任何放在DOCTYPE前面的東西,比如批注或XML聲明,會令IE9或更早期的瀏覽器觸發怪異模式(后面的渲染模式會介紹)

  由于文檔類型聲明不是標簽,因此不應具有關閉標簽

 

版本

版本年份
HTML1991
HTML+1993
HTML 2.01995
HTML 3.21996
HTML 4.011999
XHTML 1.02000
HTML52014
#

 

聲明

HTML5

<!DOCTYPE html>

  在HTML5之前,文檔聲明一般有三種類型:嚴格型strict、過渡型transitional、框架frameset

  嚴格型DTD包含所有HTML元素和屬性,但不包含展示性的和棄用的元素(如font);而過渡型或寬松型(loose)則包含展示性和啟用的元素

HTML4.01

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

XHTML1.0

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

XHTML1.1 等同于XHTML1.0 Strict

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

【DTD】

  DTD稱為文檔類型定義,它可以定義合法的XML文檔構建模塊,它使用一系列合法的元素來定義文檔的結構。在HTML中,DTD使用XML定義了HTML標簽規范

  由于HTML5不基于SGML,所以不需要引用DTD。但是需要doctype來啟用標準模式(后面的渲染模式會介紹)。HTML5的語法元素來自SGML、HTML、XHTML1.X,使它成為一種有自己規則的合成語言

  HTML、XML和SGML這三者的關系并不容易區分。HTML是SGML的一個實例,它的DTD作為標準被固定下來,因此,HTML不能作為定義其它置標語言的元語言。XML是SGML的一個子集,嚴格地講,XML也還是SGML。與HTML不同的是,XML有DTD,因而也可以像SGML那樣作為元語言,來定義其它文件系統或置標語言。如果把置標語言分為元置標語言和實例置標語言的話,SGML和XML都是元置標語言,而HTML和由XML派生的XHTML都是實例置標語言

  [注意]關于DTD的更多信息移步至此

 

渲染模式

  在很久以前的網絡上,頁面通常有兩種版本:為網景(Netscape)的Navigator準備的版本以及為微軟(Microsoft)的Internet Explorer準備的版本。當W3C創立網絡標準后,為了不破壞當時既有的網站,瀏覽器不能直接起用這些標準。因此,瀏覽器采用了兩種模式,用以把能符合新規范的網站和老舊網站區分開。

  瀏覽器排版引擎有三種模式:怪異模式(Quirks mode)、接近標準模式(Almost standards mode)以及標準模式(Standards mode)。在怪異模式下,排版會模擬Navigator4與Internet Explorer 5的非標準行為。為了支持在網絡標準被廣泛采用前,就已經建好的網站,這么做是必要的。在標準模式下,行為即由HTML與CSS的規范描述的行為。在接近標準模式下,只有少數的怪異行為被實現

  對HTML文檔來說,瀏覽器使用文檔開頭的DOCTYPE來決定用怪異模式處理或標準模式處理。如果文檔中沒有DOCTYPE將觸發文檔的怪異模式。怪異模式最明顯的影響是會觸發怪異盒模型。在CSS中盒模型被分為兩種,第一種是W3C的標準模型,第二種是怪異盒模型。不同之處在于怪異盒模型的寬高定義的是可見元素框的尺寸,而不是元素框的內容區尺寸


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()