六十天前端强化训练之第一天HTML5语义化标签深度解析与博客搭建实战
=====欢迎来到编程星辰海的博客讲解======
目录
一、语义化标签的核心价值
1.1 什么是语义化?
1.2 核心优势
二、语义标签详解与使用场景
2.1 布局容器标签
2.2 内容组织标签
三、博客结构搭建实战
3.1 完整HTML结构
3.2 核心结构解析
3.3 实现效果说明
四、学习要点总结
4.1 使用原则
4.2 常见误区
4.3 最佳实践
五、扩展阅读推荐
5.1 官方文档
5.2 优质文章
5.3 验证工具
一、语义化标签的核心价值
1.1 什么是语义化?
语义化标签是指通过HTML元素本身就能传达其内容含义的标记方式。HTML5新增的语义元素包括:
HTML
<header>, <nav>, <main>, <article>, <section>,<aside>, <footer>, <figure>, <figcaption>, <time>
1.2 核心优势
- 提升可访问性:屏幕阅读器能更准确解析内容
- 增强SEO:搜索引擎更容易理解页面结构
- 代码可维护性:结构清晰的文档更易维护
- 未来兼容性:符合W3C标准的发展方向
二、语义标签详解与使用场景
2.1 布局容器标签
| 标签 | 适用场景 | 典型内容 |
|---|---|---|
<header> | 页面/章节的头部 | 导航、Logo、标题 |
<footer> | 页面/章节的页脚 | 版权信息、联系方式 |
<nav> | 主要导航链接集合 | 菜单、目录、分页 |
<main> | 文档主要内容(页面唯一) | 核心文章内容 |
<aside> | 与主要内容相关的附属信息 | 侧边栏、广告、相关链接 |
2.2 内容组织标签
| 标签 | 适用场景 | 嵌套关系 |
|---|---|---|
<article> | 独立完整的内容块 | 可包含header/footer |
<section> | 内容分组/主题分割 | 需要包含标题 |
<figure> | 与内容相关的媒体内容 | 配合<figcaption>使用 |
<details> | 折叠内容块 | 配合<summary>使用 |
三、博客结构搭建实战
3.1 完整HTML结构
我只提供相关代码,内容大家根据自己的需求填写
HTML
<!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>技术博客 | HTML5实践</title><style>/* 基础样式仅用于演示布局 */body { font-family: Arial, sans-serif; max-width: 1200px; margin: 0 auto; }header, footer { background: #333; color: white; padding: 20px; }nav { background: #444; padding: 10px; }main { display: flex; gap: 20px; }article { flex: 3; }aside { flex: 1; background: #f4f4f4; padding: 15px; }section { margin-bottom: 30px; }</style> </head> <body><header><h1>编程星辰海</h1><p>探索Web开发最新趋势</p></header><nav><ul><li><a href="/">首页</a></li><li><a href="/articles">文章</a></li><li><a href="/about">关于</a></li><li><a href="/contact">联系</a></li></ul></nav><main><article><header><h2>HTML5语义化实践指南</h2><p>作者:李技术 | <time datetime="2025-02-23">2025年2月23日</time></p></header><section aria-labelledby="section1"><h3 id="section1">语义化基础</h3><p>现代Web开发中语义化的重要性...</p><figure><img src="semantic-structure.png" alt="语义化结构示意图"><figcaption>图1:HTML5文档结构示意图</figcaption></figure></section><section aria-labelledby="section2"><h3 id="section2">布局实践</h3><p>正确使用article和section...</p><details><summary>布局常见问题</summary><p>避免过度使用div标签...</p></details></section></article><aside><h3>相关文章</h3><ul><li><a href="#">CSS Grid布局指南</a></li><li><a href="#">响应式设计实践</a></li></ul></aside></main><footer><p>© 2023 编程星辰海</p><address>联系我们:******</address></footer> </body> </html>
3.2 核心结构解析
- 页面布局层次:
TEXT
header ├─ nav main ├─ article │ ├─ section │ └─ section └─ aside footer
- 语义化亮点:
- 使用
aria-labelledby关联标题与区域 time标签的datetime属性机器可读figure与figcaption配合使用details实现可折叠内容块
3.3 实现效果说明

- 顶部深色header区域包含站点标题
- 导航菜单水平排列在浅灰色背景中
- 主内容区采用双栏布局(3:1比例)
- 文章包含多个带标题的内容区块
- 侧边栏显示相关文章链接
- 底部深色区域展示版权信息
四、学习要点总结
4.1 使用原则
- 内容优先:根据内容语义选择标签
- 适度使用:避免过度语义化带来的复杂度
- 层级合理:保持明确的文档大纲结构
- 渐进增强:兼容不支持HTML5的浏览器
4.2 常见误区
- × 用
<section>代替<div>作为样式容器 - × 嵌套多个
<article>却不包含独立内容 - × 在
<header>中放置与页面无关的内容 - × 重复使用多个
<main>标签
4.3 最佳实践
- 使用W3C验证器检查文档结构
- 结合ARIA属性增强可访问性
- 通过
document.outline()检查大纲结构 - 保持标签的语义纯粹性
五、扩展阅读推荐
5.1 官方文档
- HTML5语义元素 - MDN
- W3C HTML5规范
- ARIA规范
5.2 优质文章
-
《语义化HTML:从入门到精通》(Smashing Magazine)Smashing Magazine — For Web Designers And Developers
-
《HTML5语义化SEO优化实践》(Google Webmasters)Chrome 开发者工具官方中文文档_谷歌开发文档中文-CSDN博客
-
《屏幕阅读器用户的浏览模式研究》(WebAIM)
http://Screen Reader User Survey #9
5.3 验证工具
- W3C Markup Validation Service
- HTML5 Outliner
建议将示例代码保存为.html文件后在现代浏览器中打开,使用开发者工具的"Accessibility"面板可查看生成的语义树形结构。
相关文章:
六十天前端强化训练之第一天HTML5语义化标签深度解析与博客搭建实战
欢迎来到编程星辰海的博客讲解 目录 一、语义化标签的核心价值 1.1 什么是语义化? 1.2 核心优势 二、语义标签详解与使用场景 2.1 布局容器标签 2.2 内容组织标签 三、博客结构搭建实战 3.1 完整HTML结构 3.2 核心结构解析 3.3 实现效果说明 四、学习要点…...
NLP的预处理数据
处理文本数据的主要工具是Tokenizer。Tokenizer根据一组规则将文本拆分为tokens。然后将这些tokens转换为数字,然后转换为张量,成为模型的输入。模型所需的任何附加输入都由Tokenizer添加。 如果您计划使用预训练模型,重要的是使用与之关联的…...
【DeepSeek问答】QProcess::start是异步的吗?会使UI卡顿吗?
好的,我现在需要回答用户关于QProcess::start是否是异步的,以及它是否会导致UI卡顿的问题。用户之前已经询问过如何开发一个调用7-Zip的Qt应用,并且我给出了示例代码。现在用户可能在使用过程中遇到了问题,或者想更深入了解QProce…...
【Java项目】基于Spring Boot的体质测试数据分析及可视化设计
【Java项目】基于Spring Boot的体质测试数据分析及可视化设计 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:体质测试数据分析及可视化设计是一个基于Web的在线平台,主要分为前台和后台两大功能模块。前台功能模…...
JAVA-如何理解Mysql的索引
一、索引的概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用(指针/地址)。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。 二、索引是什么,用来干嘛 数据库中的表、数据、索引之间的…...
VUE向外暴露文件,并通过本地接口调用获取,前端自己生成接口获取public目录里面的文件
VUE中,如果我们想对外暴露一个文件,可以在打包之后也能事实对其进行替换,我们只需要把相关文件放置在public目录下即可,可以放置JSON,Excel等文件 比如我在这里放置一个other文件 我们可以直接在VUE中使用axios去获取…...
京准电钟:NTP精密时钟服务器在自动化系统中的作用
京准电钟:NTP精密时钟服务器在自动化系统中的作用 京准电钟:NTP精密时钟服务器在自动化系统中的作用 NTP精密时钟服务器在自动化系统中的作用非常重要,特别是在需要高精度时间同步的场景中。NTP能够提供毫秒级的时间同步精度,这…...
CSDN年度评选揭晓,永洪科技AI技术与智能应用双星闪耀
近日,永洪科技在CSDN(中国专业开发者社区)的年度评选中,凭借在人工智能技术创新与vividime在行业应用中的卓越表现,一举斩获“人工智能企业”及“智能应用”双料大奖。这一荣誉不仅彰显了永洪科技在AI领域的领先地位&a…...
vscode settings(二):文件资源管理器编辑功能主题快捷键
参考资料 Visual Studio Code权威指南 by 韩骏 一. 文件资源管理器 1.1 文件资源管理器隐藏文件夹 默认情况下,Visual Studio Code会在文件资源管理器中隐藏一些文件夹(如.git文件夹)。可以通过files.exclude来配置要被隐藏的文件和文件…...
Ubuntu本地使用AnythingLLM
1.介绍 AnythingLLM是一个全栈应用程序,由Mintplex Labs Inc.开发,旨在将任何文档、资源或内容片段转换为大语言模型(LLM)在聊天中可以利用的相关上下文。 2.在ubuntu本地安装 打开终端并运行: curl -fsSL https:/…...
MybatisPlus-注解
TableName设定表名 1. MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致 2. 若实体类类型的类名和要操作的表的表名不一致,访问数据库表将会报错 3. 在实体类上添加…...
【多模态大模型学习】位置编码的学习记录
【多模态大模型学习】位置编码的学习记录 0.前言1. sinusoidal编码1.0 数学知识——复数1.0.1 复数乘法、共轭复数1.0.2 复数的指数表示 1.1 sinusoidal编码来历1.2 代码实现 2. Rotary Positional Embedding (RoPE) ——旋转位置编码2.1 RoPE来历2.2 代码实现2.2.1 GPT-J风格的…...
在MAC上面通过HomeBrew安装node和npm@指定版本
文章目录 搜索可用的 Node.js 版本安装指定版本的 Node.js将 node22 添加到 PATH验证安装是否成功给npm配置淘宝镜像 搜索可用的 Node.js 版本 liujinglong192 ~ % brew search node > Formulae libbitcoin-node node-build node20 nodeenv linod…...
基于YOLO11深度学习的医学X光骨折检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
HDFS扩缩容及数据迁移
1.黑白名单机制 在HDFS中可以通过黑名单、白名单机制进行节点管理,决定数据可以复制/不可以复制到哪些节点。 黑名单通常是指在HDFS中被标记为不可用或不可访问的节点列表,这些节点可能由于硬件故障、网络问题或其他原因而暂时或永久性地无法使用。当一…...
【2025信息安全软考重点考点归纳】实时更新
重点页:第14章 恶意代码防范技术原理 页码:271 病毒载体及其对应案例 病毒隐秘载体病毒案例Word文档Melissa照片库尔尼科娃电子邮件“求职信”病毒网页NIMDA病毒 重点页:第6章 认证技术原理与应用 页码:125 Kerberos 认证技术 Kerberos是…...
在生产环境中部署和管理 PostgreSQL:实战经验与最佳实践
在生产环境中部署和管理 PostgreSQL:实战经验与最佳实践 大家好,我是Echo_Wish。今天我们来聊一聊如何在生产环境中部署和管理 PostgreSQL。作为一种广泛使用的开源数据库,PostgreSQL 因其强大的功能和灵活性,成为许多开发者和运维人员的首选数据库。无论是在小型应用还是…...
使用OpenCV实现帧间变化检测:基于轮廓的动态区域标注
在计算机视觉中,帧间差异检测(frame differencing)是一种常用的技术,用于检测视频流中的动态变化区域。这种方法尤其适用于监控、运动分析、目标追踪等场景。在这篇博客中,我们将通过分析一个基于OpenCV的简单帧间差异…...
rabbitmq单向ssl认证配置与最佳实践(适用于各大云厂商)
背景 这里后补直接上代码 最佳实践 主要从两个方面保证消息不丢失 RabbitMQ方面 创建队列时开启持久化创建交换器时开启持久化创建镜像队列(可选)开启延迟队列(可选) 代码层面 开启生产者到交换器回调参数开启交换器到队列…...
解决 Tkinter 在 Linux 上 Combobox 组件导致焦点丢失问题
在使用 Tkinter 开发 GUI 应用程序时,我们经常会遇到一些棘手的问题,尤其是在 Linux 系统上。最近,我在开发一个项目时就遇到了一个非常有趣且令人困惑的问题:当我在一个弹出窗口中使用 grab_set() 方法锁定窗口以避免用户操作底层…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

