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>
相关推荐
wuk99832 分钟前
实现ROS系统的Websocket传输,向Web应用推送sensor_msgs::Image数据
前端·websocket·网络协议
合作小小程序员小小店2 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
天天进步20153 小时前
CSS Grid与Flexbox:2025年响应式布局终极指南
前端·css
Boop_wu3 小时前
[Java EE] 计算机基础
java·服务器·前端
Novlan14 小时前
TDesign UniApp 组件库来了
前端
用户47949283569154 小时前
React DevTools 组件名乱码?揭秘从开发到生产的代码变形记
前端·react.js
Access开发易登软件4 小时前
Access导出带图表的 HTML 报表:技术实现详解
数据库·后端·html·vba·导出·access
顾安r5 小时前
11.8 脚本网页 打砖块max
服务器·前端·html·css3
倚栏听风雨5 小时前
typescript 方法前面加* 是什么意思
前端
狮子不白5 小时前
C#WEB 防重复提交控制
开发语言·前端·程序人生·c#