嚴格模式 混雜模式與怪異模式

2021-09-12 21:43:28 字數 1258 閱讀 6715

由於歷史的原因,不同瀏覽器對頁面的渲染是不同的,甚至同一瀏覽器的不同版本也是不同的。在w3c標準出台之前,不同的瀏覽器在頁面的渲染上沒有同一的規範,產生了差異,即quirks mode(怪異模式或相容模式);當w3c標準出台之後,不同瀏覽器對頁面的渲染有了統一的標準,即strict mode(標準模式或嚴格模式);這就是兩者之間的區別。

w3c標準推出前,舊的頁面都是根據舊的渲染方式對頁面進行渲染的,因此在w3c標準推出後為了保證舊頁面的正常顯示,保持瀏覽器的相容性,這樣瀏覽器上就產生了能夠相容w3c標準渲染的嚴格模式和保證舊頁面顯示的怪異模式的標準相容模式。

如果xhtml文件包含形式完整的doctype,那麼它一般以標準模式呈現。對於html 4.01文件,包含嚴格dtd的doctype常常導致頁面以標準模式呈現。包含過渡dtd和uri的doctype也導致頁面以標準模式呈現,但是有過渡dtd而沒有uri會導致頁面以混雜模式呈現。

doctype不存在或形式不正確會導致html和xhtml文件以混雜模式呈現。

宣告位於文件 的最前面,告知瀏覽器的解析器,用什麼文件型別、規範來解析這個文件。

注意:

1).規範是指w3c發布的文件型別定義(dtd)中的規則。

2).三種dtd型別:嚴格、過渡和基於框架的html版本。

1)嚴格模式:嚴格模式的排版和js運作模式是以該瀏覽器支援的最高標準執行。

2)混雜模式:混雜模式的頁面以寬鬆的向後相容的方式顯示;模擬老的瀏覽器的行為以防止站點無法工作。

3)怪異模式:怪異模式則是使用瀏覽器自己的方式來解析執行**。

dcotype不存在或者不正確會導致文件以混雜模式呈現。

1.作用:表明當前文件的渲染模式是混雜模式還是"標準模式"

2.語法:

mode = document.compatmode
值:

例子1:

if (document.compatmode == "backcompat") else if(document.compatmode == "css1compat")
實際應用

嚴格模式與混雜模式

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

DOCTYPE 嚴格模式與混雜模式

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

Doctype 嚴格模式與混雜模式

宣告叫做檔案型別定義 dtd 宣告的作用為了告訴瀏覽器該檔案的型別。讓瀏覽器解析器知道應該用哪個規範來解析文件。宣告必須在 html 文件的第一行,但這並不是乙個 html 標籤。嚴格模式 又稱標準模式,是指瀏覽器按照 w3c 標準解析 混雜模式 又稱怪異模式,是指瀏覽器用自己的方式解析 1 如果文...