HTML是定义页面内容结构和语义的骨架语言,非排版或样式工具;其标签本质是语义化声明,如<h1>表示主标题而非最大字号,<nav>声明导航区块以提升可访问性与SEO,废弃标签如<center><font><u>应由CSS替代,最小合法结构须含<!DOCTYPE html>及lang、charset等基础声明。

HTML 不是排版语言,也不是样式控制工具;它是定义页面内容结构和语义的骨架语言。 所有“居中”“加粗”“两栏布局”这类视觉效果,都不该由 <center>、<b> 或嵌套 <table> 实现——那是 CSS 的职责。
HTML 标签的本质是语义化声明
浏览器不关心你“想怎么显示”,只响应你“声明了什么”。比如:
-
<h1>表示主标题(最高层级内容),不是“最大号字”;换用<div style="font-size:2em">就丢失了语义 -
<nav>声明导航区块,对屏幕阅读器、SEO、代码可维护性都有实际影响,而不仅仅是给 CSS 选中用的 class -
<article>和<section>有明确嵌套规则:一个<article>可以包含多个<section>,但反过来不成立
新手最常误用的三个“伪排版标签”
这些标签在 HTML5 中已被废弃或严格限制用途,但仍在大量旧代码/教程中出现:
-
<font>:完全移除语义,纯样式控制,现代 HTML 中禁止使用;应改用 CSS 的color、font-family等属性 -
<center>:无任何语义价值,且已被 HTML5 废弃;居中需求统一走text-align(文本)或margin: 0 auto(块级元素) -
<u>:原意是“非标准文本”(如拼写错误、专有名词下划线),不是“加下划线样式”;强调用<em>,重要信息用<strong>,装饰性下划线必须用 CSS
HTML 骨架必须包含的最小合法结构
哪怕只写一行字,也得满足基本文档结构,否则可能触发浏览器怪异模式(Quirks Mode),导致盒模型、字体渲染等行为不可控:
立即学习“前端免费学习笔记(深入)”;
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>页面标题</title> </head> <body> <p>这是正文段落</p> </body> </html>
-
<!DOCTYPE html>必须顶格首行,缺它就进怪异模式 -
<html lang="zh-CN">的lang属性影响语音合成、翻译插件和部分 CSS 伪类(如:lang()) -
<meta charset="UTF-8">必须在<head>最前面,晚于它写的 JS/CSS 可能乱码
真正难的不是记住标签名,而是每次写 <div> 前都问一句:这里有没有更准确的语义标签?比如列表用 <ul>、时间用 <time>、联系人用 <address>——这些细节在协作开发、无障碍访问和长期维护中会持续放大影响。



















