爲何使用

無論是剛接觸前端,仍是你已經「精通」web前端開發的內容,你應該知道在你寫html的時候須要定義文檔類型;你知道若是沒有它,瀏覽器在渲染頁面的時候會使用怪異模式;你知道各個瀏覽器在怪異模式下對各個元素渲染是有差別的。因此你會寫像這樣的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> 哇哦,很簡潔哦!好處顯而易見:1、你能夠輕鬆的寫下這個doctype,而不用擔憂會寫錯;2、你大概省下了105字節字符,對於一個每日PV達到千萬級的站點,它能夠省下至關客觀流量;3、它是向後兼容的,是的,html5的doctype就是這樣寫的,而且現代瀏覽器都認識它。 若是你跟我同樣一直覺得:沒有指定dtd將會開啓瀏覽器的怪異模式,這種說法是錯的!正確的說法應該是沒有定義doctype纔會開啓怪異模式,也就是說你只須要定義<!doctype html>就可讓瀏覽器在嚴格模式(標準模式)下渲染頁面,而不須要指定某個類型dtd。讓咱們來回顧一下,全部的瀏覽器都須要兩種模式:怪異模式和嚴格模式(也有人叫標準模式)。IE 6 for Windows/mac, Mozilla, Safari和Opera 都實現了這兩種模式,可是IE 6如下版本永遠定在了怪異模式。關於兩種模式,你須要知道如下幾點: 在標準化以前寫的頁面是沒有doctype的,所以沒有doctype的頁面是在怪異模式下渲染的。 反過來講,若是web開發人員加入的doctype,說明他知道他所要作的事情,大部分的doctype會開啓嚴格模式(標準模式),頁面也會按照標準來渲染。 任何新的或者未知的doctype都會開啓嚴格模式(標準模式)。 每一個瀏覽器都有本身的方式來激活怪異模式。你能夠看看這個清單:http://hsivonen.iki.fi/doctype/ 注意:你能夠根本不須要根據你選擇的doctype來驗證你的頁面,只要doctype標籤存在就足以開啓嚴格模式(標準模式)了。若是你對我說的這些仍是感到懷疑,那麼請前往http://www.quirksmode.org/css/quirksmode.html#link2瞭解你想知道的內容。咱們只須要一小段JavaScript代碼就能夠獲得答案,它就是: 這個代碼能夠用來判斷,當前瀏覽器是處於怪異模式仍是標準模式,該屬性的兼容性毋庸置疑,若是你表示懷疑,能夠查看http://www.quirksmode.org/dom/w3c_html.html#t11。你能夠在你想測試的瀏覽器裏訪問:http://wanz.im/demo/doctype-test.html,即可看到結果了,據我所知,這樣並無激活怪異模式,即便是ie6下,若是你有什麼新發現,歡迎給我留言。
相關文章
相關標籤/搜索