在HMTL5中頁面的最頂端代碼就是:
<!DOCTYPE html>
為何要如此定義、書寫呢?
首先引入一個概念:文檔類型,英譯為:Document type,縮寫成:doctype.
文檔類型有何作用呢?
在計算機世界中存在許多不同文件類型或稱為文件擴展名,比如.txt,.log,.doc,.wps,.xml….。計算機根據不同的文檔類型來選擇相對應的軟件對文件進行打開,修改等操作!同樣Web世界中存在許多不同的文檔,但是Web網頁是使用瀏覽器來打開、渲染、顯示,如何才能讓瀏覽器正確地顯示文檔呢,這就需要了解文檔的類型!
HTML有多個不同的版本,只有准確的在頁面中指定確切的HTML版本,瀏覽器才能正確無誤的顯示HTML頁面。這就是<!DOCTYPE>的用處。
<!DOCTYPE> 不是HTML標簽,它只是為瀏覽器提供一項聲明,因此它沒有閉合/結束標簽!
HTML文檔類型的種類:
由於歷史原因,HTML有着多個版本,目前使用比較廣泛的仍然是:
1999制定的HTML 4.01, 2000年制定的XHTML 1.0,2012制定的HTML5。不過需要特別說明的是:HTML5目前只是初稿!
HTML 4.01規定了三種文檔類型:Strict, Transitional, 以及Frameset. 中譯為:嚴格版本,過渡版本,以及基於框架的版本!
XHTML 1.0同樣也規定的三種文檔類型:Strict, Transitional, 以及Frameset. 中譯為:嚴格版本,過渡版本,以及基於框架的版本!
它們名稱相同,但是聲明的方式,有略微區別!
DOCTYPE的語法: HTML 頂級元素 可用性 “注冊組織//類型 標簽//定義語言”"URL” .
以下面這個 <!DOCTYPE> 標簽為例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
根元素是 html,
注冊組織:W3C,
類型標簽:XHTML 1.0 Strict,
定義語言:EN.
URL:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd。
它在公共標識符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。如果找不到,瀏覽器將使用公共標識符后面的 URL 作為尋找 DTD 的位置。
始終要明白:URL只是替補!
Strict:
HTML 4.01: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd"> XHTML 1.0: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional:
HTML 4.01: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd"> XHTML 1.0: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset:
HTML 4.01: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd"> XHTML 1.0: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.0與HTML 4.01文檔類型聲明復雜並且難理解,但是在HTML5中,就簡單許多了!!!
注意:雖然規定有三種文檔類型,但是在每一張網頁中只能同時聲明一種規范!
文檔類型,在使用集成開發工具時,基本都會自動添加。有時候使用記事本編寫HTML代碼時,往往會忘記聲明文檔類型,如果是復雜的頁畫那么在瀏覽器顯示時就很容易會錯排!