HTML5语义化编程

常见的 HTML5 语义化标签

  • <header>:定义文档或节的头部区域,通常包含标题、logo、导航链接等。
  • <nav>:表示导航链接的部分,适合用来包裹主要的导航菜单。
  • <main> :标识文档的主要内容,每个页面应该只有一个 <main> 元素,且不应包含在其他元素(如 <article>, <aside>, <footer>, <header>, 或 <nav>)内。
  • <article>:代表一个独立的内容块,比如博客文章、新闻故事或用户评论。
  • <section>:定义文档中的一个部分或章节,通常会有一个标题。它用于组织内容,但不应该用作样式钩子或布局工具。
  • <aside>:包含与页面内容相关但不是主要内容的信息,例如侧边栏或注释。
  • <footer>:定义文档或节的尾部区域,通常放置版权信息、联系方式等。
  • <figure><figcaption><figure> 用于包裹图像、图表、代码片段等内容,而 <figcaption> 则用于为 <figure> 提供标题或说明文字。
  • <time> :表示日期或时间,可以使用 datetime 属性来指定机器可读的格式。
  • <mark>:高亮显示文本,常用于标记文档中需要引起注意的部分。
  • <details><summary><details> 定义用户可以查看或隐藏的额外细节,而 <summary> 定义了 <details> 的标题。
  • <dialog>:表示对话框或窗口,可以通过 JavaScript 控制其显示和隐藏。
  • <progress><meter>:分别用于表示进度条和度量值,适用于展示任务完成情况或数值范围。

语义化示例

以下是一个简单的 HTML5 页面结构,展示了如何使用语义化标签:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>我的博客</title>
</head>
<body>
  <header>
    <h1>我的个人博客</h1>
    <nav>
      <ul>
        <li><a href="#home">首页</a></li>
        <li><a href="#about">关于我</a></li>
        <li><a href="#contact">联系我</a></li>
      </ul>
    </nav>
  </header>

  <main>
    <article>
      <header>
        <h2>最新文章标题</h2>
        <p>发布于 <time datetime="2025-01-06">2025年1月6日</time></p>
      </header>
      <p>这是文章的内容...</p>
      <figure>
        <img src="image.jpg" alt="图片描述">
        <figcaption>这张图是关于...</figcaption>
      </figure>
    </article>

    <aside>
      <h3>热门文章</h3>
      <ul>
        <li><a href="#">文章一</a></li>
        <li><a href="#">文章二</a></li>
        <li><a href="#">文章三</a></li>
      </ul>
    </aside>
  </main>

  <footer>
    <p>&copy; 2025 我的博客. 保留所有权利.</p>
  </footer>
</body>
</html>
相关推荐
攀登的牵牛花1 分钟前
2.1w Star 的 pretext 火在哪?
前端·github
散步去海边9 分钟前
Pretext 初识——零 DOM 测量的文本布局引擎
前端
xw-busy-code12 分钟前
npm 包管理笔记整理
前端·笔记·npm
踩着两条虫24 分钟前
AI驱动的Vue3应用开发平台 深入探究(十六):扩展与定制之自定义组件与设计器面板
前端·vue.js·人工智能·开源·ai编程
棋鬼王30 分钟前
Cesium(十) 动态修改白模颜色、白模渐变色、白模光圈特效、白模动态扫描光效、白模着色器
前端·javascript·vue.js·智慧城市·数字孪生·cesium
酉鬼女又兒33 分钟前
零基础快速入门前端蓝桥杯Web备考:BOM与定时器核心知识点详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯
ThridTianFuStreet小貂蝉34 分钟前
面试题1:请系统讲讲 Vue2 与 Vue3 的核心差异(响应式、API 设计、性能与编译器)。
前端·javascript·vue.js
俊劫38 分钟前
AI Harness - 2026 AI 工程新范式
前端·openai·ai编程
前端付豪1 小时前
Prompt Playground(实现提示词工作台)
前端·人工智能·后端
竹林8181 小时前
在NFT项目中集成IPFS:从Pinata上传到前端展示的完整实战与踩坑
前端·javascript