DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> 為什麼使用DOCTYPE HTML
為什麼使用DOCTYPE HTML
編輯:HTML和Xhtml     
你知道如果沒有它,浏覽器在渲染頁面的時候會使用怪異模式;你知道各個浏覽器在怪異模式下對各個元素渲染是有差異的。所以你會寫像這樣的doctype:

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

好在現在的各種web開發工具都足夠強大,支持插入模板代碼,因此你並不需要把這又長又臭的doctype一個個字母的敲出來。但是如果你受夠了它,你也許可以嘗試下面這個寫法:

復制代碼代碼如下:
<!DOCTYPE html>

哇哦,很簡潔哦!好處顯而易見:一、你可以輕松的寫下這個doctype,而不用擔心會寫錯;二、你大概省下了105字節字符,對於一個每日PV達到千萬級的站點,它可以省下相當客觀流量;三、它是向後兼容的,是的,html5的doctype就是這樣寫的,並且現代浏覽器都認識它。

如果你跟我一樣一直以為:沒有指定dtd將會開啟浏覽器的怪異模式,這種說法是錯的!正確的說法應該是沒有定義doctype才會開啟怪異模式,也就是說你只需要定義<!doctype html>就可以讓浏覽器在嚴格模式(標准模式)下渲染頁面,而不需要指定某個類型dtd。讓我們來回顧一下,所有的浏覽器都需要兩種模式:怪異模式和嚴格模式(也有人叫標准模式)。IE 6 for Windows/mac, Mozilla, Safari和Opera 都實現了這兩種模式,但是IE 6以下版本永遠定在了怪異模式。關於兩種模式,你需要知道以下幾點:

  1. 在標准化之前寫的頁面是沒有doctype的,因此沒有doctype的頁面是在怪異模式下渲染的。
  2. 反過來說,如果web開發人員加入的doctype,說明他知道他所要做的事情,大部分的doctype會開啟嚴格模式(標准模式),頁面也會按照標准來渲染。
  3. 任何新的或者未知的doctype都會開啟嚴格模式(標准模式)。
  4. 每個浏覽器都有自己的方式來激活怪異模式。你可以看看這個清單:http://hsivonen.iki.fi/doctype/

注意:你可以根本不需要根據你選擇的doctype來驗證你的頁面,只要doctype標簽存在就足以開啟嚴格模式(標准模式)了。如果你對我說的這些還是感到懷疑,那麼請前往http://www.quirksmode.org/css/quirksmode.html#link2了解你想知道的內容。我們只需要一小段JavaScript代碼就可以得到答案,它就是:

復制代碼代碼如下:
mode=document.compatMode;

這個代碼可以用來判斷,當前浏覽器是處於怪異模式還是標准模式,該屬性的兼容性毋庸置疑,如果你表示懷疑,可以查看http://www.quirksmode.org/dom/w3c_html.html#t11。你可以在你想測試的浏覽器裡訪問:http://wanz.im/demo/doctype-test.html,便可看到結果了,據我所知,這樣並沒有激活怪異模式,即使是ie6下,如果你有什麼新發現,歡迎給我留言。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved