Doctype 作用?标准模式与混杂模式如何区分?它们有何意义?
DTD
DTD(文档类型定义)是一组机器可读的规则,他们定义 XML 或者 HTML 的特定版本中允许有什么,不允许有什么。在解析页面时,浏览器将使用这些规则检查页面的有效性并且采取响应的措施。浏览器通过分析页面的 DOCTYPE 声明来了解要使用哪个 DTD,由此知道要使用 HTML 的哪个版本。
DocType 声明
是指 HTML 文档开头处的一行或者两行代码,它描述使用哪个 DTD。(Doctype 通常包含 DTD 文件的 URL,但不总是这样,HTML5 就不需要)
Doctype 当前有两种风格:严格和过渡。
过渡版本帮助开发人员从老版本迁移到新版本。因此 HTML4.01 和 XHTML1.0 的过渡版本仍然允许使用已经废弃的元素,比如 font 元素。而严格版本已经禁止使用这些废弃元素,从而把内容和表现分隔开。
Doctype 作用
- 浏览器根据 Doctype 的声明进行有效性验证(有些代码是无效的,浏览器会尝试解释标记本身,有时候会产生错误的结果,因此浏览器需要知道要使用什么 DTD 才能正确的处理页面,所以对页面进行有效性验证时要求有 DOCTYPE 声明)。
- 被浏览器用于另外的用途:浏览器模式。
浏览器模式
当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容。为了实现这一点创建了两种呈现模式: 标准模式和混杂模式 。
标准模式
浏览器根据规范呈现页面
混杂模式
页面以一种比较宽松的向后兼容的方式显示。通常模拟老式浏览器的行为以防止老站点无法工作
两种模式差异,最显著的例子是 ie6 出现时,在标准模式使用正确的盒模式,在混杂模式中则使用老式的专有盒模型。
浏览器根据 Doctype 是否存爱以及使用的哪种 DTD 来选择使用的呈现方法。
意义
Doctype 切换是浏览器用来区分遗留文档和符合标准的文档的手段。无论是否编写了有效的 css,如果选择了错误的 Doctype,那么页面将以混杂模式呈现。
参考答案
- DocType 声明位于 html 文档的最前边,处于标签之前,用来告知浏览器解析器用什么文档类型,规范来解析这个页面。
- 严格模式的排版和 js 运作模式是以浏览器最高标准来运行。
- 在宽松模式中页面以宽松的方式向后兼容显示。模拟老式浏览器的行为以防止站点无法访问;
- doctype 不存在或格式不正确会导致文档以混杂模式呈现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论