Doctype 作用?标准模式与混杂模式如何区分?它们有何意义?

发布于 2025-02-27 22:14:17 字数 1319 浏览 1 评论 0

DTD

DTD(文档类型定义)是一组机器可读的规则,他们定义 XML 或者 HTML 的特定版本中允许有什么,不允许有什么。在解析页面时,浏览器将使用这些规则检查页面的有效性并且采取响应的措施。浏览器通过分析页面的 DOCTYPE 声明来了解要使用哪个 DTD,由此知道要使用 HTML 的哪个版本。

DocType 声明

是指 HTML 文档开头处的一行或者两行代码,它描述使用哪个 DTD。(Doctype 通常包含 DTD 文件的 URL,但不总是这样,HTML5 就不需要)

Doctype 当前有两种风格:严格和过渡。

过渡版本帮助开发人员从老版本迁移到新版本。因此 HTML4.01 和 XHTML1.0 的过渡版本仍然允许使用已经废弃的元素,比如 font 元素。而严格版本已经禁止使用这些废弃元素,从而把内容和表现分隔开。

Doctype 作用

  1. 浏览器根据 Doctype 的声明进行有效性验证(有些代码是无效的,浏览器会尝试解释标记本身,有时候会产生错误的结果,因此浏览器需要知道要使用什么 DTD 才能正确的处理页面,所以对页面进行有效性验证时要求有 DOCTYPE 声明)。
  2. 被浏览器用于另外的用途:浏览器模式。

浏览器模式

当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容。为了实现这一点创建了两种呈现模式: 标准模式和混杂模式

标准模式

浏览器根据规范呈现页面

混杂模式

页面以一种比较宽松的向后兼容的方式显示。通常模拟老式浏览器的行为以防止老站点无法工作

两种模式差异,最显著的例子是 ie6 出现时,在标准模式使用正确的盒模式,在混杂模式中则使用老式的专有盒模型。
浏览器根据 Doctype 是否存爱以及使用的哪种 DTD 来选择使用的呈现方法。

意义

Doctype 切换是浏览器用来区分遗留文档和符合标准的文档的手段。无论是否编写了有效的 css,如果选择了错误的 Doctype,那么页面将以混杂模式呈现。

参考答案

  1. DocType 声明位于 html 文档的最前边,处于标签之前,用来告知浏览器解析器用什么文档类型,规范来解析这个页面。
  2. 严格模式的排版和 js 运作模式是以浏览器最高标准来运行。
  3. 在宽松模式中页面以宽松的方式向后兼容显示。模拟老式浏览器的行为以防止站点无法访问;
  4. doctype 不存在或格式不正确会导致文档以混杂模式呈现。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

野の

暂无简介

文章
评论
26 人气
更多

推荐作者

冰之心

文章 0 评论 0

貪欢

文章 0 评论 0

guowei007

文章 0 评论 0

大海や

文章 0 评论 0

1KUPGZrJCxEwZ

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文