為什么使用DOCTYPE HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
好在現(xiàn)在的各種web開發(fā)工具都足夠強大,支持插入模板代碼,因此你并不需要把這又長又臭的doctype一個個字母的敲出來。但是如果你受夠了它,你也許可以嘗試下面這個寫法:
<!DOCTYPE html>
哇哦,很簡潔哦!好處顯而易見:一、你可以輕松的寫下這個doctype,而不用擔心會寫錯;二、你大概省下了105字節(jié)字符,對于一個每日PV達到千萬級的站點,它可以省下相當客觀流量;三、它是向后兼容的,是的,html5的doctype就是這樣寫的,并且現(xiàn)代瀏覽器都認識它。
如果你跟我一樣一直以為:沒有指定dtd將會開啟瀏覽器的怪異模式,這種說法是錯的!正確的說法應該是沒有定義doctype才會開啟怪異模式,也就是說你只需要定義<!doctype html>就可以讓瀏覽器在嚴格模式(標準模式)下渲染頁面,而不需要指定某個類型dtd。讓我們來回顧一下,所有的瀏覽器都需要兩種模式:怪異模式和嚴格模式(也有人叫標準模式)。IE 6 for Windows/mac, Mozilla, Safari和Opera 都實現(xiàn)了這兩種模式,但是IE 6以下版本永遠定在了怪異模式。關于兩種模式,你需要知道以下幾點:
- 在標準化之前寫的頁面是沒有doctype的,因此沒有doctype的頁面是在怪異模式下渲染的。
- 反過來說,如果web開發(fā)人員加入的doctype,說明他知道他所要做的事情,大部分的doctype會開啟嚴格模式(標準模式),頁面也會按照標準來渲染。
- 任何新的或者未知的doctype都會開啟嚴格模式(標準模式)。
- 每個瀏覽器都有自己的方式來激活怪異模式。你可以看看這個清單:http://hsivonen.iki.fi/doctype/
注意:你可以根本不需要根據(jù)你選擇的doctype來驗證你的頁面,只要doctype標簽存在就足以開啟嚴格模式(標準模式)了。如果你對我說的這些還是感到懷疑,那么請前往http://www.quirksmode.org/css/quirksmode.html#link2了解你想知道的內(nèi)容。我們只需要一小段JavaScript代碼就可以得到答案,它就是:
mode=document.compatMode;
這個代碼可以用來判斷,當前瀏覽器是處于怪異模式還是標準模式,該屬性的兼容性毋庸置疑,如果你表示懷疑,可以查看http://www.quirksmode.org/dom/w3c_html.html#t11。你可以在你想測試的瀏覽器里訪問:http://wanz.im/demo/doctype-test.html,便可看到結果了,據(jù)我所知,這樣并沒有激活怪異模式,即使是ie6下,如果你有什么新發(fā)現(xiàn),歡迎給我留言。
相關文章
- html doctype告訴瀏覽器使用什么樣的html或xhtml規(guī)范來解析html文檔,下面為大家詳細介紹下,希望對大家有所幫助2014-01-08
- 文檔類型(英文簡稱!DOCTYPE,英文全稱DOCumentTYPE),它的目的是要告訴標準通用標記語言解析器,它應該使用什么樣的文檔類型定義(DTD)來解析文檔2013-04-19
DOCTYPE 中xhtml 1.0和 html 4.01區(qū)別分析
經(jīng)常會用到DOCTYPE,常用的有xhtml 1.0和html 4.01,總結了下他們之間的區(qū)別2011-08-03- 本文系統(tǒng)的講解DOCTYPE元素.同時查證了很多的資料.因為互聯(lián)網(wǎng)上面的資料比較雜亂,所以經(jīng)過收集整理我進行了重新定義.2011-02-24
- 很多朋友不知道DOCTYPE聲明的作用,特為大家搜索整理了這篇文章,希望對需要的朋友有所幫助。2011-01-26
- 自己在做web開發(fā)的時候,往往著重于界面設計及數(shù)據(jù)邏輯上的處理,而對一些細節(jié)不是特別注意。2010-02-11
- 寫HTML代碼的時候,第一行就要寫DOCTYPE,而DOCTYPE一般都很長,大家也懶得去記,所以基本都是直接去復制以前寫過的。不過今天了解到一種 DOCTYPE 的縮寫.2009-07-24
- 寫HTML代碼的時候,第一行就要寫DOCTYPE,而DOCTYPE一般都很長,大家也懶得去記,所以基本都是直接去復制以前寫過的。不過今天了解到一種 DOCTYPE 的縮寫,如果你的 DOCTYP2009-04-02
- 我們在HTML里面聲明DOCTYPE一般會有以下幾種: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD2008-10-17
- 由于不是HTML標簽,它只是一條瀏覽器指令,告訴瀏覽器編寫頁面所用的標記的版本,所以不需要成對出現(xiàn)2014-02-03