问题描述
|
HTML doctypes是否保证形式解析?
例如,如果我使用特定的文档类型,然后生成了非常糟糕的HTML,这是否将迫使浏览器恢复到Quirks模式或保证解析为该文档类型?
编辑:这也包括CSS行为。
解决方法
HTML doctypes是否保证形式解析?
没有。
您将很难找到在任何情况下都将使用SGML规则进行解析的浏览器。
XHTML内容类型将触发某些浏览器使用XML规则进行解析。
大多数浏览器将对任何text / html文档使用其自己的标记汤解析器或HTML 5算法。
例如,如果我使用特定的文档类型,然后生成了非常糟糕的HTML,这是否将迫使浏览器恢复到Quirks模式或保证解析为该文档类型?
Quirks模式与解析几乎没有关系。它主要是关于如何解释CSS的。
但是,Quirks / Standards / Almost Standards / etc等模式之间的选择几乎完全由Doctype处理。例外是具有XHTML MIME类型(无论使用何种Doctype,这都将迫使某些浏览器进入标准模式)和(对于MSIE)是X-UA兼容的HTTP标头和
<meta>
数据。
,只要该doctype是可识别的有效doctype,那么是的,应确保您处于标准模式而不是怪癖模式。
“怪癖”模式与呈现质量差的HTML代码无关;之所以存在它,是因为它是IE5等较旧浏览器的唯一呈现模式,并且当较新的浏览器(IE6)出现时,他们希望支持新的标准模式,但还需要向后兼容。
那些较旧的浏览器不了解文档类型,因此浏览器制造商提出了这样一个想法:如果您指定了doctype,则必须期望使用新的浏览器,从而期望使用标准模式。
话虽如此,如果您的HTML代码质量很差,则无论您是处于标准模式还是怪异模式都无关紧要-浏览器仍然必须弄清楚如何处理标签-soup,则无论呈现方式如何,您在不同的浏览器中都有可能获得不同的结果。