2012-03-01 65 views
0

在IE的開發工具中,我看到有一種怪癖模式。我有一個網絡工具欄的應用程序類,當放在怪癖模式,完全打破。那麼任何人都可以解釋我在IE中看到的怪癖模式的真實本質?什麼樣的doctype觸發這種怪癖模式?我有一位開發人員不斷建議我開展這方面的工作。但我懷疑花多少小時才能使它與怪癖模式兼容是多少值得。首先我不知道這種怪癖模式在哪裏以及如何應用。任何人都可以解釋我在IE瀏覽器中看到的怪癖模式的真實本質嗎?

我提到了幾篇文章,如MSDN博客,但無法找到一個可靠的解釋。所以任何人都可以更清楚地解釋我這種怪癖模式是什麼?

回答

1

「怪癖模式」基本上是人們真正關注標準的時代的倒退。 IE和Netscape(當時的Big Two)與大多數其他瀏覽器甚至相互之間的渲染效果相差甚遠,當驗證和標準成爲一件大事時,有效的HTML和CSS將所有頁面都打斷了。爲了讓事情保持健全並避免在一夜之間破壞整個網絡,瀏覽器製造商(特別是MS)使得他們的新瀏覽器能夠使頁面與舊版瀏覽器錯誤兼容。儘管如此,他們不能只用來渲染事物,或者人們會發現一個「正確」的瀏覽器。因此誕生了「怪癖模式」。

基本上,爲了觸發怪癖模式,你只是不指定文檔類型。 (我認爲HTML 3.2的doctype可能會觸發它,但從來沒有足夠的關注嘗試它。無論哪種方式,適用於HTML4 +的doctype聲明都不適用。)基本上告訴瀏覽器「嘿,渲染這個,不過你覺得合適」。在大多數瀏覽器中,它並沒有太大區別......但是在IE中,如果你的HTML接近現代,事情往往看起來很可怕。

這些天,你應該總是使用文檔類型(它應該是HTML 4或更好),所以怪癖模式更具有歷史意義 - 除非你忘記了文檔類型。儘管如此,不要編碼。甚至不把它的存在合法化。這是過去的老問題,我們試圖擺脫它們。

+0

正確:HTML 3.2文檔類型會觸發怪癖模式。此外,準確地說,[IE的怪癖模式模擬IE5.x渲染](http://stackoverflow.com/questions/9242228/margin-0-auto-not-working-in-ie-only/9242249#comment11642573_9242249)。 – BoltClock 2012-03-01 08:19:08

相關問題