全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-17 6 分钟 ✍️ juanwangdev

HTML语义化标签

语义化标签让HTML代码不仅描述"是什么",更表达"意味着什么"。

什么是语义化

定义

语义化是指使用含义明确的标签来描述内容,而非无意义的div/span。

对比示例

HTML
<!-- 非语义化写法 -->
<div class="header">
    <div class="nav">
        <a href="/">首页</a>
    </div>
</div>

<!-- 语义化写法 -->
<header>
    <nav>
        <a href="/">首页</a>
    </nav>
</header>

核心语义化标签

页面结构标签

HTML
<header>   <!-- 头部区域 -->
<nav>      <!-- 导航区域 -->
<main>     <!-- 主内容区 -->
<footer>   <!-- 底部区域 -->

内容分组标签

HTML
<article>  <!-- 独立文章 -->
<section>  <!-- 内容章节 -->
<aside>    <!-- 侧边内容 -->

内容标签

HTML
<figure>   <!-- 图片/图表容器 -->
<figcaption> <!-- 图片说明 -->
<mark>     <!-- 高亮文本 -->
<time>     <!-- 时间 -->
<address>  <!-- 地址信息 -->

标签含义速查

标签含义使用场景
<header>头部页面顶部、文章头部
<nav>导航主导航、面包屑
<main>主内容页面核心(唯一)
<article>文章可独立分发的内容
<section>章节主题相关分组
<aside>附属侧边栏、推荐
<footer>底部版权、联系方式
<figure>图片组图片+说明
<time>时间日期时间

基本使用示例

页面结构

HTML
<body>
    <header>
        <nav>导航菜单</nav>
    </header>

    <main>
        <article>
            <h1>文章标题</h1>
            <p>文章内容</p>
        </article>
    </main>

    <footer>
        <p>版权信息</p>
    </footer>
</body>

文章结构

HTML
<article>
    <header>
        <h1>标题</h1>
        <time datetime="2024-05-17">2024年5月17日</time>
    </header>

    <section>
        <h2>第一章</h2>
        <p>内容...</p>
    </section>

    <footer>
        <p>作者:张三</p>
    </footer>
</article>

语义化与div对比

特性语义化标签div
含义明确表达内容性质无含义
SEO有助于搜索理解无特殊作用
可访问性屏幕阅读器可解读需额外属性
可读性代码一目了然需注释说明

要点总结

  1. 明确含义:用正确标签表达内容性质
  2. 结构清晰:header/nav/main/footer构建骨架
  3. SEO友好:搜索引擎更好理解页面
  4. 替代div:有语义标签时不用div
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 表单属性
下一篇 → 语义化优势
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码