语义化标签

HTML 教程 · 第 11 章 · 8 次浏览

语义化标签(Semantic Elements)是 HTML5 引入的一组有明确含义的标签,用来替代一部分 div。它们让页面结构"可读":搜索引擎理解哪部分是导航、哪部分是正文,屏幕阅读器可以跳过导航直达内容,开发者一看标签就知道区块的作用。

常用语义标签速查

标签含义典型内容
header页眉 / 区块头部Logo、站点名、搜索框
nav导航主导航菜单、分页
main页面主体内容(每页一个)正文、核心区域
section内容分节有主题的一组内容,通常带标题
article独立成篇的内容文章、帖子、评论、产品卡片
aside侧栏 / 附属内容广告、相关推荐、目录
footer页脚 / 区块底部版权、备案、联系方式
figure图文组合图片 + 说明(figcaption)
time时间发布时间、日期
address联系信息地址、邮箱、电话

典型页面结构

<body>
    <header>
        <h1>网站名称</h1>
        <nav><a href="#">首页</a><a href="#">教程</a></nav>
    </header>
    <main>
        <article>
            <h2>文章标题</h2>
            <p>文章正文……</p>
        </article>
        <aside>
            <h3>相关推荐</h3>
            <ul><li>推荐一</li><li>推荐二</li></ul>
        </aside>
    </main>
    <footer>© 2025 编程学习网</footer>
</body>

article 和 section 怎么分

article 强调"独立":单独拿出来依然完整有意义(一篇文章、一条新闻、一个产品)。section 强调"分组":是更大内容的一部分(文章里的一个章节、首页的一个栏目)。页面主体通常是 main 包着一个或多个 article,article 内部再用 section 分节。

为什么要用语义化标签

  • SEO:搜索引擎更准确地识别页面结构和重点内容,语义清晰的页面在内容理解上有优势;
  • 可访问性:屏幕阅读器提供"跳转到主内容""列出标题大纲"等导航,全靠语义标签;
  • 可维护性:半年后回来改代码,看到 header/nav/article 比看到一排 div 省事得多;
  • 移动端与未来兼容:结构稳定,样式怎么变都不影响语义。

规则不复杂:结构上有明确角色的区块,优先找语义标签;找不到合适的,再用 div 兜底。

代码示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>语义化标签示例</title>
    <style>
        header, nav, main, article, aside, footer { border: 1px solid #dcedc8; margin: 8px 0; padding: 12px; }
        nav a { margin-right: 12px; }
    </style>
</head>
<body>
    <header>
        <h1>编程学习网</h1>
        <nav>
            <a href="#">首页</a>
            <a href="#">HTML 教程</a>
            <a href="#">CSS 教程</a>
        </nav>
    </header>
    <main>
        <article>
            <h2>HTML 语义化入门</h2>
            <p><time datetime="2025-06-01">2025 年 6 月 1 日</time>发布</p>
            <section>
                <h3>什么是语义化</h3>
                <p>用有含义的标签描述内容结构。</p>
            </section>
        </article>
        <aside>
            <h3>相关推荐</h3>
            <ul>
                <li><a href="#">CSS 布局教程</a></li>
                <li><a href="#">JavaScript 入门</a></li>
            </ul>
        </aside>
    </main>
    <footer>
        <address>联系邮箱:hello@example.com</address>
        <p>© 2025 编程学习网</p>
    </footer>
</body>
</html>
📚 HTML 标签速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
&lt;h1&gt;-&lt;h6&gt;标题,h1 最高,每页只用一个 h1
&lt;p&gt;段落,自动加前后间距
&lt;a href=""&gt;链接,href 是目标地址
&lt;img src="" alt=""&gt;图片,src 地址,alt 替代文字
&lt;ul&gt; / &lt;li&gt;无序列表
&lt;ol&gt; / &lt;li&gt;有序列表,数字编号
&lt;dl&gt; / &lt;dt&gt; / &lt;dd&gt;自定义列表:术语 + 说明
&lt;table&gt; / &lt;tr&gt; / &lt;td&gt; / &lt;th&gt;表格:行 / 单元格 / 表头
&lt;form action="" method=""&gt;表单,action 提交地址,method 提交方式
&lt;input type=""&gt;输入控件,type 有 text/password/email/number 等
&lt;textarea&gt;多行文本输入
&lt;select&gt; / &lt;option&gt;下拉框及选项
&lt;button type="submit"&gt;按钮,submit 提交表单
&lt;strong&gt; / &lt;em&gt;加粗(重要)/ 斜体(强调)
&lt;div&gt; / &lt;span&gt;区块容器 / 行内容器
&lt;header&gt; &lt;nav&gt; &lt;main&gt;语义化:页眉 / 导航 / 主体
&lt;section&gt; &lt;article&gt; &lt;aside&gt;语义化:分节 / 独立内容 / 侧栏
&lt;footer&gt;页脚:版权、备案
&lt;video&gt; / &lt;audio&gt;HTML5 视频 / 音频,加 controls 显示控制条
&lt;iframe src=""&gt;嵌入其他网页
&lt;!-- 注释 --&gt;HTML 注释,不显示在页面
&lt;br&gt; / &lt;hr&gt;换行 / 水平分割线
&lt;pre&gt;保留空格和换行,原样显示
&lt;blockquote&gt; / &lt;q&gt;块级引用 / 行内引用
&lt;figure&gt; / &lt;figcaption&gt;图文组合及说明