html文档必须以开头并设置lang="zh-cn",否则浏览器进入怪异模式且语言识别失效;中charset、viewport、title为必需标签,语义结构如须正确使用。

HTML 文档必须以 开头,否则浏览器会进入怪异模式,样式和脚本行为可能不一致。
为什么 标签里要写 lang="zh-CN"
不加 lang 属性,屏幕阅读器、翻译工具、甚至搜索引擎都难以准确判断页面语言。中文页面漏掉这个,语音朗读可能用英文音调,拼写检查失效,SEO 也会弱一截。
-
lang是全局属性,推荐直接写在开始标签里 - 地区码可选但建议带上,比如
zh-CN(简体中文-中国大陆)比单纯zh更精准 - 嵌套内容如英文段落可用
<p lang="en"></p>单独覆盖
里哪些标签不能少
不是摆设,缺关键标签会导致页面加载异常、字符乱码、移动端缩放失效。
-
<meta charset="UTF-8">必须有,且应放在最前面,否则早期解析的 HTML 可能被错误解码 -
<meta name="viewport" content="width=device-width, initial-scale=1.0">移动端必需,没它,手机上页面会默认按 980px 渲染再缩小显示 -
<title></title>必须有,空<title></title>都比没有强,否则浏览器标签页显示 “无标题文档”,不利于 SEO 和可访问性 -
<meta name="description">虽非强制,但影响搜索结果摘要,建议手写
外围结构常见错法
很多人以为 里随便塞内容就行,其实语义结构错位会直接影响可访问性和维护成本。
立即学习“前端免费学习笔记(深入)”;
- 别把
<header></header>、<nav></nav>、<main></main>、<footer></footer>全堆在<div> 里——它们本身就是语义容器,嵌套层级过深反而削弱语义 <li> <code><main></main>页面中只能出现一次,且不应被<article></article>或<section></section>包裹 - 导航链接如果用
<div> + <code>onclick模拟,对键盘用户和屏幕阅读器不可见;该用<a href></a>或带role="navigation"的<nav></nav> - 空
不报错,但所有内容将被浏览器“猜着放”,实际渲染位置可能出人意料
最常被忽略的是 <doctype></doctype> 和 lang 的组合效应:一个决定解析模式,一个决定内容解释方式,两者一起缺失,连 document.title 都可能读不准。










