當(dāng)我們打開(kāi)一個(gè)正規(guī)網(wǎng)站的源代碼的時(shí)候,都會(huì)發(fā)現(xiàn)源代碼最開(kāi)始一定是以<!DOCTYPE html 開(kāi)頭的,而這個(gè)<!DOCTYPE> 后面有的直接添加了> 而有的還有很長(zhǎng)的文字,如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
,當(dāng)然比較主流的網(wǎng)頁(yè)源代碼,比如E維科技源代碼都采用HTML5格式,直接以<!DOCTYPE html> 開(kāi)頭。<!DOCTYPE html> 由于不是HTML標(biāo)簽,它只是一條瀏覽器指令,告訴瀏覽器編寫(xiě)頁(yè)面所用的標(biāo)記的版本,所以不需要成對(duì)出現(xiàn)。<!DOCTYPE html> 在任何版本中都對(duì)大小寫(xiě)不敏感,不過(guò)習(xí)慣上寫(xiě)做“<!DOCTYPE html>”,當(dāng)然為了符合W3C標(biāo)準(zhǔn),寫(xiě)做“<!doctype html>”也是可以的。
E維科技首頁(yè)源代碼采用HTML5聲明+HTML4兼容
DOCTYPE 英文意思是文檔類型,也就是HTML的版本類型聲明。HTML從最開(kāi)始沒(méi)有任何規(guī)范經(jīng)歷了比較流行的HTML4,之后進(jìn)入HTML5時(shí)代,每個(gè)時(shí)期的規(guī)范都不一樣,比如在較早版本的HTML中不能實(shí)現(xiàn)<br>換行 這是因?yàn)镠TML標(biāo)簽必須成對(duì)出現(xiàn),所以必須要以<br/>來(lái)表示。而在HTML4 后期已經(jīng)很模糊這個(gè)概念了,帶不帶 “/” 結(jié)尾都是一樣的。而在HTML 5 中已經(jīng)規(guī)定不需要帶“/”,直接<br>就可以了。
這樣混亂的解釋方法,就需要告訴瀏覽器當(dāng)前網(wǎng)頁(yè)HTMl編碼采用的版本規(guī)范。
在所有 HTML 文檔中規(guī)定 DOCTYPE 是非常重要的,這樣瀏覽器就能了解預(yù)期的文檔類型。
HTML 4.01 中的 DOCTYPE 需要對(duì) DTD 進(jìn)行引用,因?yàn)?HTML 4.01 基于 SGML。而 HTML 5 不基于 SGML,因此不需要對(duì) DTD 進(jìn)行引用,但是需要 doctype 來(lái)規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行。)。
HTML 版本聲明
HTML 5沒(méi)有任何文檔類型,但是最好避免使用frame框架;XHTML 1.0 規(guī)定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset;HTML 4.01 規(guī)定了三種文檔類型:Strict、Transitional 以及 Frameset。
HTML 5 規(guī)范聲明
表達(dá)很簡(jiǎn)潔,只有一個(gè)屬性:根元素是 html
<!DOCTYPE html>
XHTML 1.0 Strict DTD 嚴(yán)格版
如果您需要干凈的標(biāo)記,免于表現(xiàn)層的混亂,請(qǐng)使用此類型。請(qǐng)與層疊樣式表(CSS)配合使用:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在上面的聲明中,聲明了文檔的根元素是 html,它在公共標(biāo)識(shí)符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進(jìn)行了定義。瀏覽器將明白如何尋找匹配此公共標(biāo)識(shí)符的 DTD。如果找不到,瀏覽器將使用公共標(biāo)識(shí)符后面的 URL 作為尋找 DTD 的位置。
XHTML 1.0 Transitional DTD 過(guò)渡版
Transitional DTD 可包含 W3C 所期望移入樣式表的呈現(xiàn)屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至于您不得不使用 XHTML 的呈現(xiàn)特性時(shí),請(qǐng)使用此類型:
<!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 框架版
當(dāng)您希望使用框架時(shí),請(qǐng)使用此 DTD!
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
HTML4.1 Transitional DTD 過(guò)渡版本
Transitional DTD 可包含 W3C 所期望移入樣式表的呈現(xiàn)屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至于您不得不使用 HTML 的呈現(xiàn)特性時(shí),請(qǐng)使用此類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
HTML4.1 Strict DTD 嚴(yán)格版
如果您需要干凈的標(biāo)記,免于表現(xiàn)層的混亂,請(qǐng)使用此類型。請(qǐng)與層疊樣式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Frameset DTD 框架文檔
Frameset DTD 應(yīng)當(dāng)被用于帶有框架的文檔。除 frameset 元素取代了 body 元素之外,F(xiàn)rameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "
http://www.w3.org/TR/html4/frameset.dtd">