基本没啥用的语义化标签

61 阅读2分钟

语义化标签

语义化标签有什么作用呢?

个人认为:

对企业而言就是两点

  1. 搜索引擎优化。
  2. 后续维护。
  3. 无障碍这些应该没多少企业会管。

对我们程序员来说就两点

  1. 写选择器时少写几个字。
  2. 将html代码折叠起来时大概知道是啥。

常用语义化标签

基础结构标签
  • <header> 定义页面或区块的页眉,通常包含标题、Logo 或导航。

    <header>
      <h1>网站标题</h1>
      <nav>...</nav>
    </header>
    
  • <nav> 表示导航链接区域(如主菜单、侧边栏导航)。

    <nav>
      <a href="/home">首页</a>
      <a href="/about">关于</a>
    </nav>
    
  • <main> 定义文档主要内容,一个页面应仅有一个 <main>

    <main>
      <article>...</article>
    </main>
    
  • <footer> 定义页面或区块的页脚,包含版权、联系方式等。

    <footer>
      <p2023 版权所有</p>
    </footer>
    

内容分组标签
  • <article> 表示独立的内容块(如博客文章、新闻文章)。

    <article>
      <h2>文章标题</h2>
      <p>文章内容...</p>
    </article>
    
  • <section> 对相关内容进行逻辑分组(通常带标题)。

    <section>
      <h2>章节标题</h2>
      <p>章节内容...</p>
    </section>
    
  • <aside> 表示与主内容相关但独立的部分(如侧边栏、广告)。

    <aside>
      <h3>相关链接</h3>
      <ul>...</ul>
    </aside>
    

媒体与数据标签
  • <figure><figcaption> 包裹图片、图表等媒体,并添加说明。

    <figure>
      <img src="image.jpg" alt="示例图片">
      <figcaption>图片描述</figcaption>
    </figure>
    
  • <time> 定义机器可读的日期/时间(datetime 属性为 ISO 格式)。

    <time datetime="2023-10-01">2023101日</time>
    

辅助性语义标签
  • <mark> 高亮显示关键文本(如搜索结果关键词)。

    <p>这是一个<mark>重点</mark>内容</p>
    
  • <address> 表示联系信息(通常放在 <footer> 中)。

    <address>
      联系邮箱:<a href="mailto:contact@example.com">contact@example.com</a>
    </address>
    
  • <details><summary> 创建可折叠的内容区块(默认隐藏,点击展开)。

    <details>
      <summary>点击查看详情</summary>
      <p>隐藏的详细内容...</p>
    </details>
    

2. 其他语义化元素

  • 列表类 <ol>(有序列表)、<ul>(无序列表)、<li>(列表项)。
  • 文本类 <blockquote>(长引用)、<q>(短引用)、<cite>(作品标题)。
  • 表单类 <label><fieldset>(表单分组)、<legend>(分组标题)。