Quirks模式與標準模式

2021-08-19 14:25:44 字數 933 閱讀 3484

怪異模式(也稱之為相容模式),quirks mode是一種瀏覽器操作模式。乙個相對新的瀏覽器故意模擬許多在舊瀏覽器中存在的bug。quirks mode的目標是使舊頁面顯示出他們的作者想要的那樣。

quirks mode是由文件型別探查法觸發。也就是大家熟知的文件型別切換。這意味著瀏覽器檢查乙個html文件的開始,看它是否包含乙個html規範所要求的文件型別宣告。

standards模式,標準模式中,瀏覽器嘗試給符合標準的文件在規範上的正確處理達到在指定瀏覽器中的程度。

如果寫了文件型別定義(doctype),就意味著這個頁面將採用對css支援更好的布局,而如果沒有,則採用相容之前的布局方式。這就是quirks模式(怪癖模式,詭異模式,怪異模式)。沒有doctype的文件用怪異模式,但是有doctype不一定不一定不用怪異模式。

通過document.compatmode屬性可以確定使用的模式

if(typeof document.compatmode != "undefined" &&/css1compat/.test(document.compatmode))esle

區別:quirks mode比較寬鬆對某些規則不強求。

總體會有布局、樣式解析和指令碼執行三個方面的區別。

盒模型:在w3c標準中,如果設定乙個元素的寬度和高度,指的是元素內容的寬度和高度,而在quirks 模式下,ie的寬度和高度還包含了padding和border。

設定行內元素的高寬:在standards模式下,給等行內元素設定wdith和height都不會生效,而在quirks模式下,則會生效。

設定百分比的高度:在standards模式下,乙個元素的高度是由其包含的內容來決定的,如果父元素沒有設定百分比的高度,子元素設定乙個百分比的高度是無效的

用margin:0 auto設定水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下卻會失效。

標準模式與混雜模式

主要是盒模型的區別,導致各種各樣的與標準模式有差異的表現形式。當瀏覽器廠商開始建立與標準相容的瀏覽器時,他們希望確保向後相容性。為了實現這一點,他們建立了兩種呈現模式 標準模式和混雜模式。在標準模式下瀏覽器按照規範呈現頁面 在混雜模式下,頁面以一種比較寬鬆的向後相容的方式顯示。混雜模式通常模擬老式瀏...

標準模式與混雜模式

doctype 的乙個重要作用就是告訴瀏覽器,它該以何種模式呈現。我們通過document.compatmode這個屬性來檢測,當前頁面處於何種模式 css1compat 標準模式 backcompat 混雜模式 那麼,問題來了,什麼情況下頁面會處於混雜模式呢?下面是列出的幾種 1 不寫 2 前面加...

標準模式與混雜模式

1,當瀏覽器廠商開始建立與標準相容的瀏覽器時,他們希望確保向後相容性。為了實現這一點,他們建立了兩種呈現模式 標準模式和混雜模式。在標準模式下瀏覽器按照規範呈現頁面 在混雜模式下,頁面以一種比較寬鬆的向後相容的方式顯示。混雜模式通常模擬老式瀏覽器的行為以防止老站點無法工作。2,區分 瀏覽器根據doc...