爲何 DOCTYPE 只用添加 就能夠了

DOCTYPE 是 document type (文檔的類型)的縮寫,在web中你要告訴瀏覽器你的XHTML或者HTML是用的什麼版本,可以讓瀏覽器根據你聲明的版原本解析html文檔,不寫《!doctype》,你的標識和css都不會生效。css

<!DOCTYPE>位於html第一行,他在HTML中的doctype有兩個主要目的。html

(1)對文檔進行有效性驗證。git

他告訴用戶代理和校驗器這個文檔是按照什麼DTD寫的。這個動做是被動的,每次頁面加載時,瀏覽器並不會下載DTD並檢查合法性,只有當手動校驗頁面時才啓用。github

(2)決定瀏覽器的呈現模式web

對於實際操做,通知瀏覽器讀取文檔時用哪一種算法。若是沒有寫,則瀏覽器則根據自身的的規則對代碼進行解析,可能嚴重影響html排版佈局。瀏覽器有三種方式解析HTML文檔。算法

非怪異(標準)模式瀏覽器

怪異模式框架

部分怪異(近乎標準)模式佈局

HTML DOCTYPE文檔類型舉例說明spa

HTML4.01文檔過渡定義類型,此類型定義的文檔可使用HTML中的標籤與元素包括一些不被W3C推薦的標籤(例如:font、b等),不可使用框架

HTML4.01文檔嚴格定義類型,此類型定義的文檔可使用HTML中的標籤與元素,不能包含不被W3C推薦的標籤(例如:font、b等),不可使用框架

HTML4.01文檔框架定義類型,此類型等同於HTML4.01文檔過渡定義類型,但可使用框架

XHTML1.0文檔過渡定義類型,此類型定義的文檔可使用HTML中的標籤與元素包括一些不被W3C推薦的標籤(例如:font、b等),不可使用框架(推薦使用)

XHTML1.0文檔嚴格定義類型,此類型定義的文檔只可使用HTML中定義的標籤與元素,不能包含不被W3C推薦的標籤(例如:font、b),不可使用框架

XHTML1.0文檔框架定義類型,等同於XHTML1.0文檔過渡定義類型,但可使用框架

XHTML1.1文檔嚴格定義類型,等同於XHTML1.0文檔過渡定義類型

HTML5文檔類型

<!DOCTYPE>的用法

1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

解析:在上面的聲明中,聲明瞭文檔的根元素是 html,它在公共標識符被定義爲 「-//W3C//DTD XHTML 1.0 Strict//EN」 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。若是找不到,瀏覽器將使用公共標識符後面的 URL 做爲尋找 DTD 的位置。

  • -:表示組織名稱未註冊。Internet 工程任務組(IETF)和萬維網協會(W3C)並不是註冊的 ISO 組織。+爲默認,表示組織名稱已註冊。
  • DTD:指定公開文本類,即所引用的對象類型。 默認爲DTD。
  • HTML:指定公開文本描述,即對所引用的公開文本的惟一描述性名稱。後面可附帶版本號。默認爲HTML。
  • URL:指定所引用對象的位置。
  • Strict:排除全部 W3C 專家但願逐步淘汰的表明性屬性和元素。

HTML5 爲何只須要寫 <!DOCTYPE HTML>?

HTML5 不基於 SGML,所以不須要對DTD進行引用,可是須要doctype來規範瀏覽器的行爲(讓瀏覽器按照它們應該的方式來運行);而HTML4.01基於SGML,因此須要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。

參考連接:https://zh.wikipedia.org/wiki/SGML

相關文章
相關標籤/搜索