dtd(document type definition,文件型別定義)是一系列的語法規則, 用來定義xml或(x)html的檔案型別。瀏覽器會使用它來判斷文件型別, 決定使用何種協議來解析,以及切換瀏覽器模式。
事實上dtd可以定義所有sgml語族的文件型別,但由於太過繁瑣, xml schema反而更加流行。多數html編輯器都會為我們新增一行doctype宣告,但doctype卻是我們最容易忽略的部分。 下面我們會看到,doctype宣告並不是可有可無的。
doctype是用來宣告文件型別和dtd規範的,乙個主要的用途便是檔案的合法性驗證。 如果檔案**不合法,那麼瀏覽器解析時便會出一些差錯。 html編輯器通常也會在語法高亮的同時提供合法性驗證。
doctype宣告包括標準版本和乙個dtd檔案的uri。常用的doctype宣告有以下幾種:
以下**來自
該 dtd 包含所有 html 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。
該 dtd 包含所有 html 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(framesets)。
為了能夠很好地顯示滿足標準的頁面,又能最大程度相容不合法的html。 瀏覽器廠商一般會提供兩種瀏覽器模式:
混雜模式下,瀏覽器會模仿舊瀏覽器的行為,比如ie6,在此基礎上相容新的標準特性。 混雜模式又稱相容模式、怪異模式等。
瀏覽器根據不同的doctype選擇不同的渲染方法就叫做doctype切換。 其實doctype切換就是用來識別和相容舊網頁的。
以下情況瀏覽器會採用標準模式渲染:
以下情況瀏覽器會採用混雜模式渲染:
如果你是使用最新標準編寫的頁面但未給出doctype宣告,這時就可能會出現一些怪異的行為。 例如盒模型不正確、視窗的size
不正確等問題。所以,盡量為你**的所有頁面都給出合法的doctype宣告。
主要參考
Doctype文件型別 作用及觸發方式
1 該標籤可宣告三種 dtd 型別,分別表示嚴格版本 過渡版本以及基於框架的 html 文件。2 html 4.01 規定了三種文件型別 strict transitional 以及 frameset。3 xhtml 1.0 規定了三種 xml 文件型別 strict transitional 以及...
doctype(文件型別)的作用是什麼?
doctype是docunment type 文件定義 的簡寫,用來說明web設計中所用的html或xhtml的型別,指出瀏覽器或者其他閱讀程式按照什麼樣的規則 w3c所發布的乙個文件型別定義即dtd 集去解釋文件中的標記.由於歷史的原因,瀏覽器對頁面的渲染方式是不一樣的。在w3c標準出來之前,瀏覽...
DOCTYPE文件型別宣告
html 3.2 html 2.0 html strict html transitional html frameset xhtml 2.0 xhtml 1.1 xhtml 1.0 strict xhtml 1.0 transitional xhtml 1.0 frameset 本文介紹關於如何定...