2011-05-03 172 views
5

的實際使用雖然我已經經歷了很多的信息,轉眼就w3.org關於文檔類型,並瞭解不同類型的文檔類型(過渡,嚴格,框架集)的文檔類型

我仍然不明確什麼是實際使用在網頁上使用Doctype?

我的意思是:

  • 它是防止在代碼中使用某些標籤從 開發商(如 通過使用嚴格的,我們使用某些 過時的標籤,如字體,中心限制 開發商, 等)

  • 是它給一些信息到瀏覽器 如果是,它在任何影響
    渲染辦法?

請幫助我一樣。謝謝。

回答

6

這是告訴瀏覽器它應該如何解釋頁面中的代碼。

(如果你使用它作爲一個工具來控制開發者,你有一個管理的問題...)

文檔類型不影響渲染,有什麼標籤是有效的,哪些屬性他們可以有,以及如何你可以在客戶端腳本中使用它們。過渡式文檔比嚴格更寬容,但HTML版本也影響有效。

最大的區別在於有一個doctype標籤而沒有一個,特別是在Internet Explorer中。如果沒有文檔類型標籤,它會以怪癖模式渲染頁面,其中包括使用non-standard box model,這可能會使您的佈局完全混亂。

+0

從一個瀏覽器來看,唯一的區別是怪癖/幾乎標準/標準模式。 – gsnedders 2012-02-26 12:13:03

+0

@gsnedders:是的,其影響是我在答案中提到的所有內容,甚至可能還有一些。 – Guffa 2012-02-26 12:44:30

+0

在除IE6-9之外的所有瀏覽器中(IE10匹配其他所有瀏覽器),它對允許使用哪些標記以及它們可以具有哪些屬性沒有影響 - 沒有人嘗試任何形式的驗證。 (IE6-9是不同的,因爲他們只是逐字地使用IE5.5引擎,所以最近沒有像canvas那樣存在。) – gsnedders 2012-02-26 18:33:16

1
  1. 是的,如果你使用嚴格的再使用過時的標籤,頁面上會不會當您通過W3C驗證

  2. 是運行驗證它,它會影響渲染。

沒有的DocType,瀏覽器將使用怪癖模式,這是說,某些標記將呈現不同的瀏覽器渲染你的頁面。其中一些標籤現已被棄用,其他標籤已被標準化。

DocType(過渡性的& strict)用於告訴瀏覽器您遵循HTML標準並按照標準W3C規範呈現標記。

1

Doctype將影響瀏覽器如何解析您的代碼。由於大多數瀏覽器在解析HTML時相當寬鬆,所以這些變化並不像人們所期望的那麼大。

請注意,HTML5有一個相當明確的解析算法,甚至可以定義如何解釋格式不正確的HTML。在啓用HTML5的瀏覽器上,當存在HTML5 doctype時,將使用此算法。

+1

在支持HTML5的瀏覽器上,該算法適用於所有,任何類型的文檔,而不僅僅是HTML5文檔類型。 – Alohci 2011-05-03 08:13:19

+0

@Alohci:我有不同的聽法('雖然我現在找不到資料來源)。你有這個聲明的來源嗎? – 2011-05-03 08:18:12

+0

最好的來源是規格本身。如果你從http://dev.w3.org/html5/spec/tokenization.html#doctype-state看它,很明顯它正在處理各種doctypes。 – Alohci 2011-05-03 08:33:39

1

doctype確實會影響渲染,哪些標記是有效的,它們可以具有哪些屬性以及如何在客戶端腳本中使用它們。過渡式文檔比嚴格更寬容,但HTML版本也影響有效。

最大的區別在於有一個doctype標籤而沒有一個,特別是在Internet Explorer中。如果沒有文檔類型標籤,它會以怪癖模式呈現頁面,其中包括使用非標準框模型,這可能會使佈局完全混亂。

您可以訪問http://www.teachw3.com/html_tutorial/html_home.php