嚴格模式和混雜模式

2021-07-04 17:09:03 字數 1910 閱讀 2604

doctype(document type 文件型別)的簡寫,來告訴瀏覽器以何種方式解析。

1:過度的(transitional,也叫混雜模式):要求比較寬鬆,允許繼續使用html4.01的標識,完整宣告為

doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"""

>

2:嚴格的(strict):要求嚴格的dtd(document type definition),不能使用任何表現層的標識和屬性,

doctype html public "-w3c//dtd xhtml 1.0 strict//en" ""

>

3:框架的(frameset):專門針對框架頁面設計使用的dtd,如果頁面中包含有框架,可以採用dtd,完整宣告為

doctype html public "-//w3c//dtd xhtml 1.0 frameset//en" ""

>

定義成相應的宣告就可以觸發相應的模式。

區分的意義是為了最終能達到資料與表現相分離的目地。

行內元素主要有:、、、

、、、、

塊級元素主要有:、、、、、、、、、、、、、、、、、、

行內元素可以通過display:block轉為塊級元素。另外塊級元素的margin和padding都正常,行內元素左右maring和左右padding正常,上下不識別,也就是說不能通過margin-top和padding-top來改變行高。

如何觸發這兩種模式:

瀏覽器根據doctype是否存在以及使用的哪種dtd來選擇要使用的呈現方法。如果xhtml文件包含形式完整的doctype,那麼它一般以標準模式呈現。對於html4.01文件,包含嚴格dtd的doctype常常導致頁面以標準模式呈現。包含過渡dtd和uri的doctype也導致頁面以標準模式呈現,但是有過渡dtd而沒有uri會導致頁面以混雜模式呈現。doctype不存在或形式不正確會導致html和xhtml文件以混雜模式呈現。

根據doctype是否存在選擇呈現模式,被稱為doctype切換或doctype偵測。並非所有瀏覽器都採用這些規則,但是這些規則很好地說明了doctype切換的工作方式。要了解更全面的內容,可查閱**這裡的圖表說明了不同瀏覽器如何根據doctype宣告來選擇呈現方法。

doctype切換是瀏覽器用來區分遺留文件和符合標準的文件的手段。無論是否編寫了有效的css,如果選擇了錯誤的doctype,那麼頁面就將以混雜模式呈現,其行為就可能會有錯誤或不可**。因此,一定要在站點的每個頁面上包含形式完整的doctype宣告,並且在使用html時選擇嚴格的dtd。

<

pre>

<

ol>

<

li>

<

!doctype html public "-//w3c//dtd html4.01//en"

li>

<

li>

"">

li>

<

li>

<

!doctype html public "-//w3c//dtd xhtml 1.0strict//en"

li>

<

li>

"">

li>

<

li>

<

!doctype html

>

li>

ol>

pre>

<?xml version="1.0"encoding="utf-8"?>

xml宣告是xml檔案使用的可選宣告,它定義使用的xml版本和字元編碼型別等設定。不幸的是,如果doctype宣告不是頁面上的第乙個元素,那麼ie6會自動切換到混雜模式。這個問題在ie 7中已經糾正了,但是除非要將頁面用做xml文件,否則最好避免使用xml宣告。

嚴格模式與混雜模式

嚴格模式 又稱標準模式,是指瀏覽器按照 w3c 標準解析 混雜模式 又稱怪異模式或相容模式,是指瀏覽器用自己的方式解析 區分方法 如果文件包含嚴格的 doctype 那麼它一般以嚴格模式呈現。包含過渡 dtd 和 uri 的 doctype 也以嚴格模式呈現,但有過渡 dtd 而沒有 uri 統一資...

HTML的嚴格模式和混雜模式

宣告位於文件的最前位置,處於標籤之前,可以告訴瀏覽器使用哪種html xhmtl文件 該標籤有三種型別 嚴格版本 過度版本 以及基於框架的html文件 1.瀏覽器模式 標準模式 瀏覽器根據規範呈現頁面 混雜模式 頁面以一種比較寬鬆的向後相容的方式顯示,混雜模式通常模擬老瀏覽器的行為已防止老式站點無法...

DOCTYPE 嚴格模式與混雜模式

在過去的舊式瀏覽器中,css渲染的相容異常糟糕,都沒有使用w3c提供的標準模式,但是標準化不得不進行。於是提供的混雜模式 怪異模式 與標準模式。觸發條件 1 產生於標準化浪潮以前的網頁並沒有doctype宣告。因此 沒有doctype 意味著觸發怪異模式 既依據舊式的css規則渲染網頁。2 相反,如...