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>
相关推荐
这是个栗子3 分钟前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说12 分钟前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
熊猫钓鱼>_>42 分钟前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
方也_arkling42 分钟前
elementPlus按需导入配置
前端·javascript·vue.js
顾西爵霞1 小时前
个人学习主页搭建指南:从毛坯房到精装户型
学习·html
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest
沛沛老爹1 小时前
Web开发者转型AI:多模态Agent视频分析技能开发实战
前端·人工智能·音视频
Andy Dennis1 小时前
FTP局域网功能小网站V2_2
服务器·flask·html5
David凉宸1 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js
笔画人生1 小时前
Cursor + 蓝耘API:用自然语言完成全栈项目开发
前端·后端