最简合法html5文档必须包含、、、四个标签,缺一不可;其中须置于首位置以防乱码,script依赖dom时应放前或用defer。

HTML文档必须包含哪些标签才能被浏览器正确解析
不写全基本结构,浏览器会进入怪异模式(Quirks Mode),CSS和JS行为可能出人意料。最简合法HTML5文档必须有 、<code>、、 四个部分,缺一不可。
必须是第一行,且不能带任何空格或注释前置,否则触发怪异模式-
是根元素,建议加lang属性(如lang="zh-CN"),否则屏幕阅读器可能读错语言 -
里至少要有<meta charset="UTF-8">,漏掉会导致中文乱码——哪怕页面只显示英文,也建议加上 -
可以为空,但不能省略;空比缺失更安全
为什么要放在最前面
浏览器解析HTML是流式进行的。如果 <meta charset="UTF-8"> 出现在 <title></title> 或其他标签后面,前面已读取的内容(比如 <title>你好</title>)可能已被按默认编码(通常是ISO-8859-1)解码过一次,再改编码也来不及回退。
- 错误写法:
<title>页面</title> <meta charset="UTF-8">→ 标题文字大概率乱码 - 正确顺序:把
<meta charset="UTF-8">放在第一个子元素位置 - 不需要写
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">,那是HTML4写法,冗余且易出错
script 标签放 head 还是 body 底部?关键看依赖关系
放错位置会导致 document.getElementById 找不到元素、jQuery $ 未定义等报错,本质是脚本执行时DOM还没就绪。
- 如果脚本只操作全局对象(如
window、console),放没问题 - 如果脚本要访问
中的元素(比如初始化按钮事件),必须确保它在对应HTML之后执行:
– 放在前(推荐)
– 或用defer属性(仅适用于外部脚本)
– 或监听DOMContentLoaded事件 -
async不适合依赖DOM的脚本,它不保证执行顺序,也不等DOM构建完
HTML5中哪些标签可以省略、哪些绝不能省
HTML5允许部分结束标签“省略”,但省略后代码可读性下降,且容易误判嵌套关系。浏览器虽能自动补全,但补全逻辑未必符合你的预期。
立即学习“前端免费学习笔记(深入)”;
在原有基础上进行了较大改动进行了代码重写,页面结构和数据库结构均作了优化,基本功能: 1. 精美flash导入页面; 2. 产品发布,支持一级分类; 3. 公司简介、售后服务、联系我们,可进行后台管理; 4. 也可以照“公司简介”的方法增加其他内容,如企业文化、企业荣誉... 5. 采用eWebEditor是网站后台具有强大的编辑功能; 初始帐号: admin 初始密码: admin888
- 可安全省略的:
、、、、 - 绝不能省略的:
、、开始标签——它们定义了文档骨架,省略等于放弃结构控制权 -
<p></p>的结束标签可省,但连续多个<p></p>时,省略会导致意外合并(如<p>a</p> <p>b</p>被解析为一个段落)
、
真实项目中,建议始终写全开始和结束标签。自动补全不是容错机制,而是历史兼容包袱。










