<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在上面的聲明中,聲明了文檔的根元素是 html,它在公共標識符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。如果找不到,瀏覽器將使用公共標識符后面的 URL 作為尋找 DTD 的位置。
HTML 4.01和XHTML 1.0 規定了三種文檔類型:Strict、Transitional 以及 Frameset。
1.HTML Strict DTD
如果您需要干凈的標記,免于表現層的混亂,請使用此類型。請與層疊樣式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2.HTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入樣式表的呈現屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至于您不得不使用 HTML 的呈現特性時,請使用此類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3.Frameset DTD
Frameset DTD 應當被用于帶有框架的文檔。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
查資料說,在寫<!DOCTYPE>時不用寫全,即只要聲明 <!DOCTYPE html>即可,沒必要必須定義dtd,因為只有沒有聲明<!DOCTYPE>才會開啟怪異模式,而不是沒有聲明dtd會開啟怪異模式,也就是說你只需要定義<!doctype html>就可以讓瀏覽器在嚴格模式(標準模式)下渲染頁面,而不需要指定某個類型dtd。而且它是向后兼容的,html5的<!DOCTYPE>就是這樣寫的,并且現代瀏覽器都認識它。
多學一點:
所有的瀏覽器都需要兩種模式:怪異模式和嚴格模式(也有人叫標準模式)。IE 6 for Windows/mac, Mozilla, Safari和Opera 都實現了這兩種模式,但是IE 6以下版本永遠定在了怪異模式??梢杂胢ode=document.compatMode;來判斷瀏覽器是處于怪異模式還是標準模式。
1.在標準化之前寫的頁面是沒有doctype的,因此沒有doctype的頁面是在怪異模式下渲染的。
2.大部分瀏覽器的doctype會開啟嚴格模式(標準模式),頁面也會按照標準來渲染。
3.任何新的或者未知的doctype都會開啟嚴格模式(標準模式)。
4.每個瀏覽器都有自己的方式來激活怪異模式。
新聞熱點
疑難解答