##DOCTYPE 文檔類型
DOCTYPE的作用:
聲明文檔的解析類型(document.compatMode),避免瀏覽器的怪異模式。
document.compatMode:
BackCompat:怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。
CSS1Compat:標準模式,瀏覽器使用W3C的標準解析渲染頁面。
這個屬性會被瀏覽器識別并使用,但是如果你的頁面沒有DOCTYPE的聲明,那么compatMode默認就是BackCompat,瀏覽器按照自己的方式解析渲染頁面,那么,在不同的瀏覽器就會顯示不同的樣式。如果你的頁面添加了<!DOCTYPE html>那么,那么就等同于開啟了標準模式,那么瀏覽器就得老老實實的按照W3C的標準解析渲染頁面,這樣一來,你的頁面在所有的瀏覽器里顯示的就都是一個樣子了。
這就是<!DOCTYPE html>的作用。
摘自:http://angrycoder.iteye.com/blog/1757539
##為什么使用<!DOCTYPE HTML>
如果你跟我一樣一直以為:沒有指定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代碼就可以得到答案,它就是:
mode=document.compatMode;
這個代碼可以用來判斷,當前瀏覽器是處于怪異模式還是標準模式,該屬性的兼容性毋庸置疑,如果你表示懷疑,可以查看http://www.quirksmode.org/dom/w3c_html.html#t11。 你可以在你想測試的瀏覽器里訪問:http://wanz.im/demo/doctype-test.html, 便可看到結果了,據我所知,這樣并沒有激活怪異模式,即使是ie6下
摘自:http://i.wanz.im/2010/05/28/why_doctype_html/
- 空白目錄
- Day-1-Your-First-Webpage
- day1example
- 視頻總結
- Day-2-Getting-a-Proper-Code-Editor-and-Formatting
- day2example
- Day-3-Lists
- day3example
- Day-4-Parent-Child-Relationships
- day4example
- Day-5-Headings
- day5example
- Day-6-Blockquotes
- day6example
- Day-7-Anchors
- day7example
- Day-8-Your-First-Stylesheet
- day8example
- Day-9-Clean-Project-Structures
- day9example
- Day-10-Images
- day10example
- Day-11-The-Necessity-of-Divs
- day11example
- Day-12-Ids-and-Classes
- day12example
- Day-13-Assignment
- day13example
- Day-14-Assignment-Solution
- Day-15-Floats-and-a-Simple-Layout
- day15example
- Day-16-NavigationLists
- day16example
- Day-17-Introduction-to-Forms
- day17example
- Day-18-Image-Replacement
- day18example
- Day-19-Typography-Basics
- day19example
- Day-20-The-Difference-Between-Relative-and-Absolute-Positioning
- day20example
- Day-21-Creating-a-Website-Fragment
- day21example
- Day-22-The-Importance-of-Validation
- day22example
- Day-23-Zen-Coding
- day23example
- Day-24-Resets-and-Normalizing
- day24example
- Day-25-CSS-Frameworks
- day25example
- Day-26-Final-Project-Markup
- day26example
- Day-27-Slicing-a-PSD
- day27example
- Day-28-How-to-Create-Snippets
- day28example
- Day-29-Website-CSS
- day29example
- Day-30-Finishing-Up-the-Website
- day30example