gpt4 book ai didi

html - 非 HTML5 文档类型中的 HTML5 元素是否为 "work"?

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:07 26 4
gpt4 key购买 nike

我在一家公司实习,负责更新他们的网站。 “问题”是他们仍在使用 4.01 文档类型,所以我没有机会使用一些不错的 HTML5,我想。但后来我看到其他人用 <nav> 实现了响应式菜单标签,它起作用了。我很困惑:

  • (HTML5) 文档类型到底有什么作用?
  • 如果 HTML5 元素在 HTML4 中正确显示,那么两者有什么区别?

最佳答案

HTML5 文档类型只用于一个目的:触发标准模式。就是这样。 HTML5 spec实际上直截了本地说明了这一点:

Note: DOCTYPEs are required for legacy reasons. When omitted, browsers tend to use a different rendering mode that is incompatible with some specifications. Including the DOCTYPE in a document ensures that the browser makes a best-effort attempt at following the relevant specifications.

doctype 的这种特定结构是在所有主要浏览器中触发标准模式同时防止文档被误认为其他文档类型所必需的最低限度。在 SGML 中,这个“HTML5 文档类型”本质上是没有意义的,因为它既没有系统标识符也没有公共(public)标识符。但是无论如何都没有人实现过 SGML(甚至没有任何基于 SGML 的变体中的 HTML),这意味着浏览器将忽略这一事实并愉快地在标准模式下呈现标记。

无论您使用哪种文档类型,都不会影响浏览器呈现标记或实现相关 API 的方式,只要您拥有一个即可。也就是说,无论你使用哪种doctype,浏览器使用的“标准模式”都是一样的。验证器确实使用文档类型声明中的系统或公共(public)标识符来决定根据哪个标准验证标记,但浏览器从不使用此信息来决定是否支持某个功能。

当然,不用说,如果您可以访问 HTML 源代码,并且您正在使用 HTML5 功能,则应该切换到 HTML5 文档类型。确实没有任何理由不这样做。

关于html - 非 HTML5 文档类型中的 HTML5 元素是否为 "work"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25957754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com