2011-05-26 39 views
2

HTML doctypes是否可以保證正式解析?HTML doctypes保證正式解析嗎?

例如,如果我使用特定的DOCTYPE,然後生成非常糟糕的HTML,這是否會強制瀏覽器恢復到怪癖模式或保證解析爲DOCTYPE?

編輯:這也包括CSS行爲。

回答

1

HTML doctypes是否保證正式解析?

你將很難找到一個瀏覽器,將解析使用在任何情況下SGML規則。

XHTML 內容類型將觸發一些瀏覽器使用XML規則解析。

大多數瀏覽器將使用他們自己的標記湯姆分析器或任何文本/ html文檔的HTML 5算法。

例如,如果我使用特定的DOCTYPE,然後生成非常糟糕的HTML,這將強制瀏覽器恢復到怪癖模式或保證解析到DOCTYPE?

怪癖模式與解析很少有關係。主要是關於如何解釋CSS。

怪癖/標準/幾乎標準/等模式之間的選擇幾乎完全由Doctype處理。例外情況是有一個XHTML MIME類型(這將強制一些瀏覽器進入標準模式,無論Doctype是什麼)和(對於MSIE)X-UA兼容的HTTP標頭和<meta>數據。

0

只要文檔類型是一個公認的有效的文檔類型,那麼是的,你應該保證在標準模式而不是怪癖模式。

怪癖模式不是渲染質量差的HTML代碼;它的存在是因爲這是舊版瀏覽器(例如IE5)的唯一渲染模式,並且當新瀏覽器出現時(IE6),他們希望支持新標準模式,但也需要向後兼容。

那些較舊的瀏覽器不知道doctypes,因此瀏覽器製造商想出瞭如果你指定了doctype,你必須期望在新的瀏覽器中,因此期待標準模式。儘管如此,如果您的HTML代碼質量不好,那麼無論您處於標準模式還是怪癖模式都無關緊要 - 瀏覽器仍然需要解決如何處理您的問題標記湯,而且不管瀏覽器模式如何,你都可能在不同的瀏覽器中獲得不同的結果。