严格模式与混杂模式

区别:严格模式是浏览器根据规范去显示页面;混杂模式是以一种向后兼容的方式去显示

意义:决定浏览器如何渲染网站(浏览器使用那种规范去解析网页)

触发:浏览器根据doctype是否存在和使用的是那种DTD来决定。

这篇内容是在了解了<!DOCTYPE>之后,需要知道的。

  • Doctype可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
  • 当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性。为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式
    • 在标准模式中,浏览器以其支持的最高标准呈现页面,;
    • 在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止老站点无法工作。

  • 模式触发
    浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。
    • 如果XHTML、HTML 4.01文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。
    • 包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。
    • DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。

html5既然没有DTD,也就没有严格模式与宽松模式的区别,html5有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。

原文地址:https://www.cnblogs.com/autismtune/p/5222342.html