严格模式与混杂模式
严格模式:以浏览器支持的最高标准运行。
混杂模式:页面以宽松向下兼容的方式显示,模拟老式浏览器的行为。
补充
补充:浏览器通过
<!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">)会触发"几乎标准模式",只在一个地方与标准模式不同:表格单元格内图片的垂直对齐方式。这种模式现在已经很少需要关心。
来源整理自:我的有道云笔记



