HTML5文件打不开通常因扩展名错误、BOM头干扰或DOCTYPE缺失/错位:需显示并修正扩展名、保存为UTF-8无BOM编码、确保首行严格为。

HTML5 文件打不开,大概率不是 HTML5 本身的问题
HTML5 只是规范,浏览器照着它解析 html 文件。所谓“改格式后打不开”,实际是文件保存方式、编码、路径或结构出了偏差。重点排查三类问题:扩展名被隐藏/误改、BOM 头干扰、 缺失或位置错误。
扩展名显示被 Windows 隐藏,实际变成了 .txt
用记事本保存时勾选了“另存为 → 文本文件”,即使输入 index.html,系统也可能强制加 .txt 后缀,变成 index.html.txt —— 浏览器根本不会识别它为 HTML。
- 在文件资源管理器中打开「查看」→ 勾选「文件扩展名」,确认真实后缀
- 重命名时务必删掉隐藏的
.txt,完整写成index.html(注意不要写成index.html.html) - 推荐改用 VS Code、Notepad++ 等编辑器,它们默认不追加
.txt,且能明确提示编码和换行符
UTF-8 with BOM 导致解析失败或乱码
某些编辑器(尤其老版记事本)默认用 UTF-8 with BOM 编码保存,开头三个字节 EF BB BF 会被浏览器当作非法字符,可能直接白屏、报错 Unexpected token (如果被当 JSON 加载),或渲染出奇怪符号。
- 用 VS Code 打开文件 → 右下角点击编码名称(如
UTF-8 with BOM)→ 选择Save with Encoding→ 改为UTF-8 - Notepad++:菜单栏「编码」→「转为 UTF-8 无 BOM 格式」→ 再保存
- 检查是否生效:用命令行执行
file -i index.html(Linux/macOS)或用 HxD 查看前几个字节,确认没有EF BB BF
缺失、大小写错误或不在第一行
HTML5 要求 必须作为文档第一行,且严格区分大小写(DOCTYPE 全大写,html 小写)。漏写、写成 或前面有空格/注释,都可能导致浏览器进入怪异模式(Quirks Mode),JS/CSS 行为异常,甚至部分现代 API 不可用。
立即学习“前端免费学习笔记(深入)”;
- 打开文件,按
Ctrl+Home确保光标在最开头,第一行必须是且仅是: - 删除所有顶部空行、
、或标签 - 验证:把文件拖进 Chrome,按
F12→ Console 里输入document.compatMode,返回"CSS1Compat"才表示标准模式生效
真正卡住人的往往不是语法多难,而是编辑器自动加的 BOM、Windows 隐藏扩展名、或者手抖多敲了一个空格——这些细节不显眼,但会直接让整个页面拒绝加载。动手前先看一眼文件属性和编码状态,比反复改标签有效得多。










