HTML doctypes是否保证正式解析?

时间:2011-05-26 09:44:15

标签: html browser html-parsing

HTML doctypes是否保证正式解析?

例如,如果我使用特定的doctype然后生成非常糟糕的HTML,这会强制浏览器恢复为Quirks模式还是保证解析为doctype?

编辑:这也包括CSS行为。

2 个答案:

答案 0 :(得分:1)

  

HTML doctypes是否保证正式解析?

没有。

在任何情况下,您都很难找到将使用SGML规则进行解析的浏览器。

XHTML 内容类型会触发某些浏览器使用XML规则进行解析。

对于任何text / html文档,大多数浏览器都会使用自己的标记汤解析器或HTML 5算法。

  

例如,如果我使用特定的doctype然后生成非常糟糕的HTML,这会强制浏览器恢复为Quirks模式还是保证解析为doctype?

Quirks模式与解析几乎没有关系。主要是关于如何解释CSS。

Quirks / Standards / Almost Standards / etc模式之间的选择几乎完全由Doctype处理。例外情况是具有XHTML MIME类型(这将强制某些浏览器进入标准模式,无论Doctype是什么)和(在MSIE的情况下)X-UA兼容的HTTP标头和<meta>数据。

答案 1 :(得分:0)

只要doctype是公认的有效doctype,那么是的,你应该保证你处于标准模式而不是怪癖模式。

Quirks模式不是要渲染质量差的HTML代码;它之所以存在,是因为这是IE5等旧浏览器的唯一渲染模式,当新版浏览器出现时(IE6),他们希望支持新的标准模式,但也需要向后兼容。

那些较旧的浏览器并不了解doctypes,因此浏览器制造商提出了这样的想法:如果你指定了doctype,你必须期待更新的浏览器,从而期待标准模式。 / p>

说了这么多,如果你的HTML代码质量很差,那么无论你是处于标准模式还是怪异模式都无关紧要 - 浏览器仍然需要弄清楚你的标签是怎么做的-soup,无论渲染模式如何,您都可能在不同的浏览器中获得不同的结果。