严格模式与混杂模式

严格模式:以浏览器支持的最高标准运行。

混杂模式:页面以宽松向下兼容的方式显示,模拟老式浏览器的行为。

补充

补充:浏览器通过 <!DOCTYPE> 的有无来决定进入哪种模式,进入混杂模式后盒模型、行内元素高宽、百分比高度等行为都会与标准模式不一致。

两种模式对比

维度标准模式(Standards Mode)混杂模式(Quirks Mode)
触发条件页面顶部有完整 doctype缺少 doctype 或 doctype 写法错误
盒模型width/height = 内容宽高width/height = 内容 + padding + border(IE 行为)
行内元素的 width/height不生效生效
margin: 0 auto 居中生效失效
百分比高度需要父级有明确高度才生效行为与早期浏览器一致

几乎相同模式(Almost Standards Mode)

HTML5 之前的过渡型 doctype(例如 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">)会触发"几乎标准模式",只在一个地方与标准模式不同:表格单元格内图片的垂直对齐方式。这种模式现在已经很少需要关心。

来源整理自:我的有道云笔记