HTML5 新增的语义化标签

348 阅读4分钟

HTML语义化

HTML语义化是指使用合适的HTML标签来传达文档内容的结构和意义,而不仅仅是展示样式。这种方法有助于提高网页的可访问性、可维护性以及搜索引擎优化(SEO)。通过语义化标签,浏览器、搜索引擎和辅助技术(如屏幕阅读器)能够更好地理解网页的内容。

常见的语义化HTML标签

1. 结构标签

  • html5新增

2. 文本标签

  • <h1><h6> :定义标题,<h1>表示最高级别的标题,<h6>表示最低级别的标题。

    <h1>主标题</h1>
    <h2>副标题</h2>
    
  • <p> :定义段落。

    <p>这是一个段落。</p>
    
  • ⭐️⭐️⭐️<blockquote> :定义引用内容。

    <blockquote>
      <p>这是一个引用。</p>
    </blockquote>
    
  • <code> :定义代码片段。

    <code>console.log('Hello, world!');</code>
    
  • ⭐️⭐️⭐️<em>斜体<strong>加粗:分别表示强调和重要内容,通常会以斜体和加粗方式显示。

    <p>这是<em>强调</em>的文本。</p>
    <p>这是<strong>重要</strong>的文本。</p>
    

3. 表格标签

  • <table> :定义表格。

  • <thead><tbody><tfoot> :分别定义表格的头部、主体和底部,是结构标签。

  • <tr> :定义表格行。

  • <th><td> :分别定义表格头单元和数据单元。

    <table>
      <thead>
        <tr>
          <th>姓名</th>
          <th>年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>张三</td>
          <td>30</td>
        </tr>
        <tr>
          <td>李四</td>
          <td>25</td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <td colspan="2">总计</td>
        </tr>
      </tfoot>
    </table>
    

HTML语义化的好处

  1. 提高可访问性:辅助技术(如屏幕阅读器)可以更好地理解和朗读内容。
  2. 提升SEO:搜索引擎能够更准确地解析和索引网页内容。
  3. 提高代码可维护性:开发者能够更容易地理解和维护代码。
  4. 增强用户体验:使用语义化标签可以使网页结构更加清晰,用户体验更好。

语义化示例对比

非语义化HTML:

<div id="header">
  <div class="nav">...</div>
</div>
<div class="content">...</div>
<div class="sidebar">...</div>
<div id="footer">...</div>

语义化HTML:

<header>
  <nav>...</nav>
</header>
<main>
  <article>...</article>
</main>
<aside>...</aside>
<footer>...</footer>

通过使用语义化标签,代码变得更加清晰,结构更加明了,有助于团队协作和代码维护。

HTML5 新增的语义化标签

  1. <header> :

    • 代表文档或文档的一部分的头部内容,通常包含导航链接、标题、徽标等。
    • 可以在页面的多个部分使用,如在文章、章节、页面的顶部。
    <header>
      <h1>网站标题</h1>
      <nav>
        <ul>
          <li><a href="#">首页</a></li>
          <li><a href="#">关于我们</a></li>
        </ul>
      </nav>
    </header>
    
  2. <nav> :

    • 表示页面的导航部分,包含导航链接。
    • 通常包含在 <header> 内,但也可以单独使用。
    <nav>
      <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">博客</a></li>
      </ul>
    </nav>
    
  3. <section> :

    • 用于表示文档中的一个独立的章节或部分。
    • 每个 <section> 通常包含自己的标题。
    <section>
      <h2>关于我们</h2>
      <p>我们是一家致力于创新的公司。</p>
    </section>
    
  4. <article> :

    • 表示一篇独立的内容(文章、博客帖子、新闻条目等),可以单独发布或分享。
    • 适用于自包含的内容块,通常带有标题。
    <article>
      <h2>最新新闻</h2>
      <p>今天我们发布了新的产品...</p>
    </article>
    
  5. <aside> :

    • 表示与主内容相关的附加内容,如侧边栏、广告、引用等。
    • 通常用于放置页面的次要信息。
    <aside>
      <h3>相关链接</h3>
      <ul>
        <li><a href="#">链接1</a></li>
        <li><a href="#">链接2</a></li>
      </ul>
    </aside>
    
  6. <footer> :

    • 表示文档或文档的一部分的页脚内容,通常包含版权信息、联系信息、网站地图等。
    • 可以在页面的多个部分使用,如在文章、章节、页面的底部。
    <footer>
      <p>&copy; 2024 公司名称. 版权所有.</p>
    </footer>
    
  7. <main> :

    • 表示文档的主要内容部分。
    • 页面中只能使用一个 <main> 标签,且内容应该是页面的核心内容。
    <main>
      <h1>页面主要内容</h1>
      <p>这里是主要内容区域。</p>
    </main>
    
  8. <figure><figcaption> :

    • <figure> 用于表示独立的图像、图表、插图等,通常与 <figcaption> 一起使用。
    • <figcaption><figure> 提供说明或标题。
    <figure>
      <img src="image.jpg" alt="描述图片">
      <figcaption>这是图片的标题</figcaption>
    </figure>
    
  9. <mark> :

    • 用于标记文本的高亮部分,表示重要或与当前内容相关的信息。
    <p>这个<mark>词</mark>需要特别注意。</p>
    
  10. <time> :

    • 用于标记时间或日期,帮助机器(如搜索引擎)理解内容的时间信息。
    <time datetime="2024-08-01">202481日</time>
    

HTML5 其他功能性标签

  1. <audio> :

    • 用于嵌入音频文件,可以直接在网页中播放。
    <audio controls>
      <source src="audio.mp3" type="audio/mp3">
      你的浏览器不支持音频标签。
    </audio>
    
  2. <video> :

    • 用于嵌入视频文件,可以直接在网页中播放。
    <video controls>
      <source src="video.mp4" type="video/mp4">
      你的浏览器不支持视频标签。
    </video>
    
  3. 🌟🌟🌟<canvas> :

    • 提供了一个绘制图形的区域,开发者可以使用 JavaScript 在其中绘制图像、图表等。
    <canvas id="myCanvas" width="200" height="100"></canvas>
    
  4. <progress> :

    • 表示任务的完成进度。
    <progress value="70" max="100">70%</progress>
    
  5. <output> :

    • 用于展示计算或脚本的结果。
    <form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
      <input type="range" id="a" value="50"> +
      <input type="number" id="b" value="50"> =
      <output name="result" for="a b">100</output>
    </form>
    

总结

HTML5 提供了许多新的标签,以帮助开发者更好地组织和描述网页的内容。这些标签不仅增强了网页的语义性,也提高了搜索引擎优化(SEO)和辅助技术的支持。使用这些标签可以使页面结构更清晰、更具可读性和可维护性。