如果我将 doctype 设置为 HTML 5 <!DOCTYPE html>
,这会将浏览器设置为标准模式。
这是否意味着大多数现代浏览器的行为就像它们处于 HTML 4.01 过渡模式一样?
如果我将 doctype 设置为 HTML 5 <!DOCTYPE html>
,这会将浏览器设置为标准模式。
这是否意味着大多数现代浏览器的行为就像它们处于 HTML 4.01 过渡模式一样?
浏览器实际上没有“HTML 4.01 过渡模式”。它们具有“标准”模式和历史模式、大多数浏览器的“怪癖”和“几乎标准”,以及 IE 的各种早期 IE 行为。
没有从“HTML 4.01 过渡”文档类型到模式的直接映射,但对于大多数现代浏览器,它映射到存在 SYSTEM 标识符的“几乎标准”模式和不存在的“怪癖”模式。
有关更多详细信息,请参阅http://hsivonen.iki.fi/doctype/和http://dev.w3.org/html5/spec/tree-construction.html#the-initial-insertion-mode
这意味着浏览器将处于标准模式而不是怪癖模式,这是唯一真正的区别,除非您出于某种原因担心特定类型的验证。Strict 仅在使 html 文档符合 xml 标准的情况下才有意义,而 HTML5 不遵循这些标准。
不,这些不相似。尽管 HTML 5 Doctype 仍然是一个草案。但是,如果您将在 HTML 5 合规性检查中验证您的代码,它将不支持已弃用的 html 4 属性或标签。此外,当您验证代码时,仅在 HTML 5 文档类型中支持新的 HTML 5 标记。您可以通过此链接对其进行验证:http: //validator.w3.org/