浏览器模式 & <!DOCTYPE>
、<meta X-UA-Compatible>
终极备忘
——基于 Hixie 经典长文《Activating Browser Modes with Doctype》重新梳理,
由编程狮(w3cschool.cn)翻译、精简、本土化,5 分钟背完 90% 考点。
1 一句话结论(先背再读)
所有新页面用一句头即可:
<!doctype html>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
作用 | 含义 |
---|---|
<!doctype html> |
触发 标准模式(Chrome/Firefox/Edge 通用) |
IE=edge |
让 IE8~11 永远不用兼容视图 |
2 浏览器到底有几种模式?
2.1 通用三大模式(所有浏览器)
模式 | 触发方式 | 结果 |
---|---|---|
Quirks(怪异模式) | 无 <!DOCTYPE> 或早期 DTD |
模拟 IE5.5,CSS 盒模型错位 |
Almost Standards | HTML 4.01 Transitional 等 | 表格行高计算旧逻辑(图片缝隙) |
Standards(标准模式) | <!doctype html> 或现代 DTD |
按规范渲染,推荐 |
2.2 IE 独有的附加模式(了解即可)
值 | 含义 | 备注 |
---|---|---|
IE=EmulateIE7 |
强制 IE7 渲染 | 仅遗留系统维护 |
IE=EmulateIE8 |
强制 IE8 渲染 | 同上 |
IE=Edge |
当前最高 IE 引擎 | 2025 年通用 |
3 触发优先级(记住 3 句话)
- HTTP 响应头 >
<meta>
> 用户手动兼容视图 - IE8+ 默认看
<!DOCTYPE>
,除非被组策略/用户按钮覆盖 - Edge(Chromium)已彻底抛弃 IE 模式,可忽略
4 实战模板(复制即用)
4.1 HTML5 通用起手
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>编程狮示例页</title>
</head>
<body>
<h1>Hello W3Cschool!</h1>
</body>
</html>
4.2 服务器直接加头(更快)
Nginx:
add_header X-UA-Compatible "IE=edge";
Apache:
Header set X-UA-Compatible "IE=edge"
5 常见坑位速查
场景 | 风险 | 解决 |
---|---|---|
企业内网被强制 IE7 | CSS3/ES5 失效 | HTTP 头 + <meta> 双保险 |
iframe 嵌套 | 父页面强制兼容视图 | 同样加头 |
旧项目用 HTML4 Transitional | 触发 Almost Standards | 升级 HTML5 |
6 决策树(1 张图秒懂)
graph TD
A[新页面?] -->|是| B[用 `<!doctype html>` + `IE=edge`]
A -->|否| C[旧系统]
C -->|仅 IE7| D[临时 `IE=EmulateIE7`]
C -->|现代浏览器| B
7 一句话速背口诀
“起手
<!doctype html&
,IE 加edge
,企业头也配;
怪异模式别碰,表格图片不碎。”