嚴格模式與混雜模式

如何區分嚴格模式與混雜模式,它們有何意義!

嚴格模式:又稱標準模式,是指瀏覽器按照 W3C 標準解析代碼。

混雜模式:又稱怪異模式或兼容模式,是指瀏覽器用自己的方式解析代碼。

區分方法
如果文檔包含嚴格的 DOCTYPE ,那麼它一般以嚴格模式呈現。

包含過渡 DTD 和 URI 的 DOCTYPE ,也以嚴格模式呈現,但有過渡 DTD 而沒有 URI (統一資源標識符,就是聲明最後的地址)會導致頁面以混雜模式呈現。

DOCTYPE 不存在或形式不正確會導致文檔以混雜模式呈現。

HTML5 沒有 DTD ,因此也就沒有嚴格模式與混雜模式的區別,HTML5 有相對寬鬆的語法,實現時,已經儘可能大的實現了向後兼容。


嚴格模式與混雜模式的前世今生

當年Netscape4(網景公司早期的瀏覽器)和IE4(微軟公司早期的瀏覽器)實現CSS機制時,並沒有遵循W3C提出的標準。Netscape4 提供了糟糕的支持,而IE4 雖然接近標準,但依舊未能完全正確的支持標準。儘管IE 5 修復了IE4 許多的問題,但是依然延續CSS實現中的其它故障(主要是盒模型問題)。

爲了保障自己的網站在各個瀏覽器上顯示正確,網頁開發者們不得不依據各個瀏覽器自身的規範來使用css,因此大部分網站的css實現並不符合W3C規範的標準。

然而隨着標準一致性越來越重要,瀏覽器開發商不得不面臨一個艱難的抉擇:逐漸遵循W3C的標準是前進的方向。但是改變現有的 css,完全去遵循標準,會使許多舊網站或多或少受到破壞,如果瀏覽器突然以正確的方式解析現存的css,陳舊的網站的顯示必然會受到影響。所以,所有的瀏覽器都需要提供兩種模式:混雜模式服務於舊式規則,而嚴格模式服務於標準規則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章