我在度假時沒有訪問我的好朋友Internet Explorer,我扔了一個非常完整的Web應用程序。當我回到家時,我很驚訝並鼓勵我看到我的網站在IE中工作......直到我投入任何有效的文檔類型。我知道把瀏覽器引入怪癖模式並不是最好的做法,或者它不會被稱爲怪癖模式,但我想我的問題是......具有「怪癖模式」網站的實際後果是什麼?是否有必要或者甚至是值得去苦苦掙扎,糾正我還沒有意識到的問題,或者我可以保持原樣,運行跨瀏覽器?謝謝。是怪癖模式合法嗎?
回答
如果您的網站在標準模式下呈現錯誤,但在怪異模式下正確,則可能是錯誤的。一些當前的瀏覽器甚至可以在標準模式下修復您的錯誤,但您不知道未來的瀏覽器將如何處理它。在標準模式下,您可以絕對確定在現代瀏覽器中看起來不錯的有效網站會正確顯示。
聲明一個合適的文檔類型在W3驗證HTML驗證技術上是必需的;然而,很多人離開他們的代碼,使瀏覽器改爲使用Quirks模式。我已經做了很多次了,通常情況下都不錯。但是,您冒着瀏覽器無法正確解釋代碼的風險。
換句話說,您所說的跨瀏覽器功能可能很容易在沒有有效的文檔類型聲明的情況下分解爲跨瀏覽器的地獄。
答案,這取決於您的網站需要多強大。
怪癖模式通常是瀏覽器嘗試修復錯誤以便正確呈現,但重要的是要記住,如果您的站點呈現符合標準的模式,它可能會使未來的瀏覽器呈現良好狀態(至少暫時)。
與怪癖模式相比,在無怪異模式下,瀏覽器更具互操作性,即彼此具有相同的行爲。無怪癖模式是大多數Web標準人員和瀏覽器開發人員關心和考慮和測試的模式。所以你很可能會在怪異模式下遇到瀏覽器之間的差異。
例如,在怪癖模式下,body
填充WebKit/Blink中的視口,但不在Gecko中(我對Edge沒有把握)。在no-quirks模式下,所有瀏覽器中的高度body
都一樣。
(有一個反例,不過,其中,瀏覽器在怪異模式同意而不是在無特殊模式:body
作爲「視口滾動元件」爲scrollTop
等)
IE的某些版本(8和9?)故意在他們的怪異模式中具有較少的特徵(例如canvas
元素)。所以如果你關心IE並希望能夠使用IE實際支持的功能,那麼就不要使用怪癖模式,那麼這就是不使用怪異模式的另一個原因。最後,也許很明顯,你很可能會遇到更奇怪的行爲,就像color
和其他一些不會繼承table
元素的怪異行爲,即上下邊距摺疊更多,ID和類不區分大小寫,等等。
- 1. 什麼是怪癖模式?
- 2. IE8和怪癖模式
- 3. MVC Razor怪癖模式 - umbraco
- 4. 怪癖模式和標準模式
- 5. 奇怪的怪癖模式問題
- 6. 強制IE10使用常規怪癖模式(不IE5 /傳統怪癖模式)
- 7. window.open在怪癖模式也改變後續頁面的怪癖模式
- 8. CSS規則IE8怪癖忽略模式
- 9. 怪癖模式呈現問題
- 10. 怪癖模式和文檔類型
- 11. 怪癖模式的一般問題
- 12. 如何禁用怪癖模式?
- 13. 以怪癖模式浮動DIV
- 14. IE9把網站扔到怪癖模式
- 15. 瀏覽器在怪癖模式
- 16. html5新標籤打開怪癖模式
- 17. IE 8渲染怪癖模式
- 18. 默認選擇怪癖模式
- 19. 怪癖模式和DOCTYPE兼容性
- 20. SVG在IE怪癖模式下
- 21. IE的怪癖模式:寬度:自動
- 22. 在IE9怪癖模式Date.parse返回NaN
- 23. Fieldset消失在怪癖模式
- 24. 怪癖模式和IE8問題
- 25. 在IE中發現怪癖模式
- 26. 2011年的怪癖模式是否相關?
- 27. ie7爲什麼總是處於怪癖模式?
- 28. 強制IE7進入標準渲染模式(不是怪癖)
- 29. 爲什麼IE8說頁面默認是怪癖模式?
- 30. 無法降低DIV的寬度/高度怪癖模式對IE9