HTML是一套有明确嵌套规则和语义分工的标记结构,必须包含<html>、<head>、<body>根标签,标题与段落需语义正确使用,禁止无效嵌套,废弃标签须用CSS替代,合法性以W3C验证为准而非视觉渲染。

HTML 不是“某种标签组合”,而是一套有明确嵌套规则和语义分工的标记结构。 直接拼凑标签(比如把 <h1> 塞进 <p> 里)会破坏解析逻辑,浏览器可能忽略、静默修正,或导致 SEO 和无障碍访问失效。
必须存在的根结构:<html>、<head>、<body>
这三个标签不是可选“风格”,而是 HTML5 解析器强制要求的骨架:
-
<html lang="zh-CN">必须作为最外层容器,lang属性建议显式声明,否则屏幕阅读器可能读错语音 -
<head>里不能放任何用户可见内容,只放元信息:<meta charset="UTF-8">(解决中文乱码)、<title>(浏览器标签页文字)、<link rel="stylesheet">(引入 CSS) -
<body>是唯一允许放置可视内容的区域,所有<h1>、<p>、<div>等都必须在它内部
标题与段落:别用 <h1> 当加粗,也别用 <br> 代替 <p>
语义错误比样式难调试得多:
-
<h1>到<h6>表示内容层级,不是字号开关;搜索引擎靠它判断页面主干结构,滥用会导致权重稀释 -
<p>自带上下外边距和换行逻辑,<br>只是强制折行,无语义;用<br>拆分地址、诗歌或表单提示文字可以,但绝不用它替代段落分隔 - 嵌套禁止:
<p><h2>标题</h2></p>是无效 HTML,浏览器会自动拆开,实际渲染为<p></p><h2>标题</h2><p></p>
常见“看似能用”但实际危险的写法
这些写法在部分浏览器里可能“看起来正常”,但跨设备、SEO、辅助技术中大概率出问题:
立即学习“前端免费学习笔记(深入)”;
-
<font color="red">:HTML5 已废弃,CSS 的color才是正确路径;保留它会让代码无法通过 W3C 验证 -
<center>或<align="center">:全部被移除,居中必须用 CSS(text-align或margin: 0 auto) -
<img src="x.jpg">缺少alt属性:对盲人用户不可访问,Google 图片搜索不收录,且某些严格模式下图片不加载 - 自闭合标签写成
<hr>而非<hr />:HTML5 允许省略斜杠,但 XML/XHTML 场景下会报错;统一写<hr>即可,无需加斜杠
真正容易被忽略的点是:HTML 的合法性不取决于“能不能显示”,而取决于“浏览器是否按标准解析”。一个没报错的页面,可能正悄悄把你的 <article> 当成普通 <div> 处理——因为父容器错了,或者属性值没加引号。验证请用 W3C Markup Validation Service,而不是只看 Chrome 是否渲染出了预期效果。



















