首頁技術文章正文

Quirks模式是什么?它和Standards模式有什么區(qū)別?

更新時間:2023-10-06 來源:黑馬程序員 瀏覽量:

從IE6開始,引入了Standards模式,標準模式中,瀏覽器嘗試給符合標準的文檔在規(guī)范上的正確處理達到在指定瀏覽器中的程度。

在IE6之前C還不夠成熟,所以IE5等之前的瀏覽器對CS的支持很差,IE6將對CSS提供更好的支持,然而這時的問題就來了,因為有很多頁面是基于舊的布局方式寫的,而如果IE6支持CSS則將令這些頁面顯示不正常,如何在即保證不破壞現(xiàn)有頁面,又提供新的渲染機制呢?

在寫程序時我們也會經(jīng)常遇到這樣的問題,如何保證原來的接口不變,又提供更強大的功能,尤其是新功能不兼容舊功能時。遇到這種問題時的一個常見做法是增加參數(shù)和分支,即當某個參數(shù)為真時,我們就使用新功能,而如果這個參數(shù) 不為真時,

就使用舊功能,這樣就能不破壞原有的程序,又提供新功能。IE6也是類似這樣做的,它將DTD當成了這個 參數(shù) ,因為以前的頁面大家都不會去寫“”DTD,所以IE6就假定 如果寫了DTD,就意味著這個頁面將采用對CSS支持更好的布局,而如果沒有,則采用兼容之前的布局方式。這就是Quirks模式(怪癖模式,詭異模式,怪異模式)。

區(qū)別:

總體會有布局、樣式解析和腳本執(zhí)行三個方面的區(qū)別。

盒模型:

在W3C標準中,如果設置一個<span>元素的寬度和高度,指的是元素內容的寬度和高度,而在Quirks模式下,IE的寬度和高度還包含了padding和border。

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

設置百分比的高度:在standards模式下,一個元素的高度是由其包含的內容來決定的,如果父元素沒有設置百分比的高度,子元素設置一個百分比的高度是無效的用margin:0 auto設置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下卻會失效。

分享到:
在線咨詢 我要報名
和我們在線交談!