中必须包含和,建议置于最开头;viewport需紧随其后;script应加defer或async避免阻塞;结构化数据须内联于。

里不能放任何会“渲染出可见内容”的元素,比如 <div>、<code><p></p>、<img> —— 浏览器会自动忽略或纠错,但行为不可靠,别这么干。
必须存在的元数据: 和字符集声明
<title></title> 是唯一强制要求的 子元素(HTML5 规范),没它页面就算结构不完整;<meta charset="UTF-8"> 虽非强制,但缺失会导致中文乱码、表单提交异常等实际问题。这两项建议始终放在 最开头。
-
<title></title>只能出现一次,内容会显示在浏览器标签页和书签中 -
<meta charset>必须是 中前 1024 字节内的第一个<meta>,否则可能被忽略 - 不要用
<meta http-equiv="Content-Type">替代,现代浏览器已不推荐
控制页面行为的 :viewport 和 http-equiv
<meta name="viewport"> 是响应式页面的刚需,没它移动端会默认缩放成桌面视口宽度;<meta http-equiv> 类似 HTTP 响应头,但仅对部分值生效(如 refresh、default-style),多数已被弃用或有更优替代。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
-
<meta name="viewport" content="width=device-width, initial-scale=1">应紧随<meta charset>后,避免 iOS Safari 渲染抖动 -
http-equiv="X-UA-Compatible"对现代浏览器无效,IE 已淘汰,可删 -
http-equiv="refresh"会触发跳转或重载,但破坏后退体验,优先用 JS 或服务端重定向
资源加载与预连接: 的常见用途
<link> 是 里最常被误用的标签——不是所有 rel 值都适合放这里,也不是所有资源都该提前加载。
-
<link rel="stylesheet">加载 CSS,阻塞渲染,建议合并、压缩、关键 CSS 内联 -
<link rel="icon">指定 favicon,路径要确保 404 不报错(否则控制台刷屏) -
<link rel="preload">提前加载关键资源(如字体、首屏图片),但需配合as属性,否则可能被忽略 -
<link rel="dns-prefetch">或<link rel="preconnect">可减少第三方域名 DNS 查询延迟,但只对真实跨域请求有效
脚本和结构化数据:哪些能放,哪些不该放
<script></script> 可以放 ,但默认同步执行,会阻塞 HTML 解析;<script type="application/ld+json"></script> 这类结构化数据则完全安全,且必须放 (Google 等爬虫只在此处读取)。
- 普通 JS 脚本加
defer属性可安全放 ,按顺序执行且不阻塞解析 -
async脚本不保证执行顺序,适合统计、广告等独立逻辑 -
<script type="module"></script>默认defer行为,但模块路径需带扩展名或完整 URL,否则 404 - JSON-LD 结构化数据别用
src外链,必须内联,且不能含注释或非法字符
真正容易被忽略的是顺序和副作用:<meta charset> 放太晚、<link rel="stylesheet"> 后跟 <style></style> 导致 FOUC、<script defer></script> 依赖未定义的全局变量……这些细节不会报错,但会让页面表现不稳定。










