DOCTYPE的作用
- DOCTYPE能告訴瀏覽器使用哪種html或者xhtml規范來解析文檔,其中引入的dtd文件包含了標記、attributes、properties、約束規則,瀏覽器根據此規范來解析html文檔。
- 另外DOCTYPE還會對瀏覽器的渲染模式產生影響,不同的渲染模式會影響瀏覽器對CSS、Javascript腳本的解析方式。
DOCTYPE的格式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
DOCTYPE由5部分構成
- 字符串 ”!DOCTYPE“
- 根元素通用標識符 ”html“
- 字符串 “PUBLIC”
- 被引號括起來的公共標識符(publiciId)
- 被引號括起來的系統標識符(systemId)
共3中dtd文件
- 要求嚴格的DTD(XHTML Strict DTD)
不能使用任何表現層的標識和屬性(都交給CSS來實現),如<br>,因此整個html結構看起來非常干凈,嚴謹
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- 要求寬松的過渡DTD(XHTML Transitional DTD)
允許你繼續使用HTML4.01的標識
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- 使用框架的DTD(XHTML Frameset DTD)
當你希望使用框架時,使用此DTD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
兩種渲染模式
- BackCompat:標準兼容模式未開啟(又稱怪異模式、混雜模式)
- CSS1Compat:標準兼容模式已開啟(嚴格模式)
混雜模式能保證古董頁面的正常渲染,讓頁面往后兼容,因此各瀏覽器之間表現出的差異將會最大化,標準模式就是現在說的w3c標準模式,式對統一標準實現最好的模式,它要求標簽必須閉合,不能使用已經廢棄的標簽等等。
觸發混雜模式的情況
- 不寫文檔類型頭<!DOCTYPE html>
- 寫了文檔類型頭,但沒選擇能觸發混雜模式的dtd文件
201202291109512536.gif
參考內容:http://www.cnblogs.com/shishm/archive/2012/02/29/2373080.html