《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)
文章目录
- 6.1 语义化标签的重要性
- 6.1.1 基础知识
- 6.1.2 案例 1:使用 `<article>`, `<section>`, `<aside>`, `<header>`, 和 `<footer>`
- 6.1.3 案例 2:构建带有嵌套语义化标签的新闻网站
- 6.1.4 案例 3:创建一个带有 `<main>`, `<figure>`, 和 `<figcaption>` 的摄影作品集
- 6.2 HTML 文档结构最佳实践
- 6.2.1 基础知识
- 6.2.2 案例 1:创建一个具有清晰结构的个人博客页面
- 6.2.3 案例 2:创建一个在线教育平台的主页
- 6.2.4 案例 3:构建一个具有多个页面部分和动态内容的企业网站
- 6.3 辅助技术和可访问性考虑
- 6.3.1 基础知识
- 6.3.2 案例 1:创建一个具有高可访问性的图像画廊
- 6.3.3 案例 2:创建一个可访问性良好的表单
- 6.3.4 案例 3:创建一个适用于屏幕阅读器的文章**
6.1 语义化标签的重要性
6.1.1 基础知识
- 语义化标签的定义:在HTML中,语义化标签是那些具有明确含义的标签,它们告诉浏览器和开发者这部分内容是什么,而不仅仅是怎么看起来。这就像给网页的每个部分贴上标签,清楚地说明它们的角色和功能。
- 为什么语义化重要:使用语义化标签可以提高网站的可访问性、搜索引擎优化(SEO)和维护性。这就像在图书馆中正确地分类书籍,让人们更容易找到他们需要的东西。
6.1.2 案例 1:使用 <article>
, <section>
, <aside>
, <header>
, 和 <footer>
让我们构建一个简单的博客页面,使用语义化标签来组织内容。
<!DOCTYPE html>
<html>
<head><title>我的博客</title>
</head>
<body><header><h1>我的博客标题</h1><nav>这里是导航栏</nav></header><article><h2>博客文章标题</h2><p>这里是文章内容...</p></article><aside>这里是一些相关链接或广告</aside><footer>这里是页脚信息</footer>
</body>
</html>
6.1.3 案例 2:构建带有嵌套语义化标签的新闻网站
现在,我们来构建一个新闻网站的主页,运用更多的语义化标签。
<!DOCTYPE html>
<html>
<head><title>新闻网站</title>
</head>
<body><header><h1>新闻网站标题</h1><nav>导航链接</nav></header><section><article><header><h2>新闻标题 1</h2><p>发表日期和作者</p></header><p>新闻内容摘要...</p><footer><p>评论数: 10</p></footer></article><article><header><h2>新闻标题 2</h2><p>发表日期和作者</p></header><p>新闻内容摘要...</p><footer><p>评论数: 5</p></footer></article></section><footer>页脚信息</footer>
</body>
</html>
6.1.4 案例 3:创建一个带有 <main>
, <figure>
, 和 <figcaption>
的摄影作品集
最后,让我们创建一个摄影作品集页面,使用一些不太常见的语义化标签。
<!DOCTYPE html>
<html>
<head><title>摄影作品集</title>
</head>
<body><header><h1>我的摄影作品</h1></header><main><figure><img src="photo1.jpg" alt="照片1描述"><figcaption>这是照片1的描述</figcaption></figure><figure><img src="photo2.jpg" alt="照片2描述"><figcaption>这是照片2的描述</figcaption></figure></main><footer>版权信息</footer>
</body>
</html>
通过这些案例,你可以看到语义化标签如何使网页结构更加清晰,内容更加易于理解。这不仅对用户体验有益,也有助于搜索引擎更好地理解和索引网页内容。随着你逐渐掌握这些标签的使用,你的网页将变得更加结构化和内容丰富。
6.2 HTML 文档结构最佳实践
6.2.1 基础知识
- 了解HTML文档的骨架:每个HTML文档都有一个标准的结构,它就像是建筑的蓝图,定义了网页的基本框架。这包括
<!DOCTYPE html>
,<html>
,<head>
, 和<body>
。 - 头部(Head)的作用:
<head>
部分包含了网页的元数据,比如标题<title>
, 链接到CSS文件的<link>
, 和脚本<script>
。虽然这些元素在页面上不直接显示,但它们对网页的功能和外观至关重要。 - 主体(Body)的结构:
<body>
是你的网页内容所在的地方,它可以包含文本、图片、链接、表格等各种元素。
6.2.2 案例 1:创建一个具有清晰结构的个人博客页面
我们将构建一个个人博客页面,包含头部、导航栏、主内容区域、侧边栏和页脚。
<!DOCTYPE html>
<html>
<head><title>我的个人博客</title>
</head>
<body><header><h1>欢迎来到我的博客</h1></header><nav><ul><li><a href="#">首页</a></li><li><a href="#">文章</a></li><li><a href="#">关于我</a></li></ul></nav><main><article><h2>博客文章标题</h2><p>这里是文章内容...</p></article><aside><h3>侧边栏标题</h3><p>一些附加信息...</p></aside></main><footer><p>版权信息</p></footer>
</body>
</html>
6.2.3 案例 2:创建一个在线教育平台的主页
接下来,我们将创建一个在线教育平台的主页,包括课程列表、教师简介和用户评论。
<!DOCTYPE html>
<html>
<head><title>在线教育平台</title>
</head>
<body><header><h1>在线教育平台</h1></header><nav><ul><li><a href="#">课程</a></li><li><a href="#">教师团队</a></li><li><a href="#">学员评价</a></li></ul></nav><section><h2>热门课程</h2><!-- 课程列表 --></section><section><h2>我们的教师</h2><!-- 教师列表 --></section><section><h2>学员评价</h2><!-- 评论列表 --></section><footer><p>联系我们</p></footer>
</body>
</html>
6.2.4 案例 3:构建一个具有多个页面部分和动态内容的企业网站
最后,我们将创建一个企业网站,包含产品介绍、用户测试和合作伙伴信息。
<!DOCTYPE html>
<html>
<head><title>企业网站</title>
</head>
<body><header><h1>企业名称</h1></header><nav><ul><li><a href="#">产品</a></li><li><a href="#">案例研究</a></li><li><a href="#">合作伙伴</a></li></ul></nav><article><h2>产品介绍</h2><!-- 产品信息 --></article><article><h2>案例研究</h2><!-- 案例分析 --></article><aside><h3>新闻与更新</h3><!-- 新闻列表 --></aside><footer><p>版权所有 © 企业名称</p></footer>
</body>
</html>
通过这些案例,我们可以看到一个良好结构化的HTML文档是如何构建的,以及如何使用不同的标签来组织内容和提升用户体验。每个案例都展示了如何使用HTML构建一个具有清晰结构和逻辑的网页,使其既易于维护又对用户友好。
6.3 辅助技术和可访问性考虑
6.3.1 基础知识
- 可访问性的重要性:可访问性确保了所有用户,包括残障人士,都能访问和使用网站。这就像确保建筑有坡道和电梯,方便所有人进入。
- 使用合适的标签:HTML提供了一系列标签和属性来增强网站的可访问性,如
<alt>
属性用于图像描述,使视障用户通过屏幕阅读器理解图像内容。 - 表单可访问性:为表单元素正确使用
<label>
标签,确保所有用户都能理解每个表单项的用途。
6.3.2 案例 1:创建一个具有高可访问性的图像画廊
我们将构建一个简单的图像画廊,其中每张图片都有描述性的<alt>
标签。
<!DOCTYPE html>
<html>
<head><title>可访问性图像画廊</title>
</head>
<body><h1>我的图像画廊</h1><img src="image1.jpg" alt="描述图像1的内容"><img src="image2.jpg" alt="描述图像2的内容"><img src="image3.jpg" alt="描述图像3的内容">
</body>
</html>
6.3.3 案例 2:创建一个可访问性良好的表单
这个示例展示了一个带有清晰标签的表单,方便所有用户填写。
<!DOCTYPE html>
<html>
<head><title>可访问性表单</title>
</head>
<body><h1>注册表单</h1><form><label for="name">姓名:</label><input type="text" id="name" name="name"><br><label for="email">电子邮件:</label><input type="email" id="email" name="email"><br><label for="password">密码:</label><input type="password" id="password" name="password"><br><input type="submit" value="提交"></form>
</body>
</html>
6.3.4 案例 3:创建一个适用于屏幕阅读器的文章**
在这个例子中,我们将创建一个文章页面,其中使用了适当的标题和语义化标签,以便屏幕阅读器用户能够轻松地导航。
<!DOCTYPE html>
<html>
<head><title>适用于屏幕阅读器的文章</title>
</head>
<body><header><h1>文章标题</h1></header><nav><ul><li><a href="#section1">第一节</a></li><li><a href="#section2">第二节</a></li></ul></nav><main><section id="section1"><h2>第一节标题</h2><p>第一节内容...</p></section><section id="section2"><h2>第二节标题</h2><p>第二节内容...</p></section></main><footer><p>页脚信息</p></footer>
</body>
</html>
通过这些案例,你可以看到如何通过HTML增强网站的可访问性,使其对各种用户更加友好。这不仅是关于遵守指导原则,更是关于创造一个每个人都可以轻松访问和享受的数字空间。
相关文章:

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)
文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1:使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2:构建带有嵌套语义化标签的新闻网站6.1.4 案例 3:创建一个带有 <mai…...

分析HarmonyOS应用/服务的CPU活动性能
CPU Profiler 性能分析是用来分析CPU性能瓶颈的工具,可以实时查看应用/服务的CPU使用率和线程活动,也可以查看记录的方法跟踪数据、方法采样数据和系统跟踪数据的详情。基于CPU性能分析,您可以了解在一段时间内执行了哪些方法,以及…...

Linux:理解信号量以及内核中的三种通信方式
文章目录 共享内存的通信速度消息队列msggetmsgsndmsgrcvmsgctl 信号量semgetsemctl 内核看待ipc资源单独设计的模块ipc资源的维护 理解信号量总结 本篇主要是基于共享内存,延伸出对于消息队列和信号量,再从内核的角度去看这三个模块实现进程间通信 共享…...
【ArcGIS微课1000例】0100:ArcGIS for CAD软件下载与安装(附安装包)
ArcGIS for CAD软件下载与安装(附安装包)。 文章目录 一、ArcGIS for CAD概述1. ArcGIS for CAD介绍2. 主要功能二、ArcGIS for CAD下载三、ArcGIS for CAD安装1. 安装CAD2. 安装ArcGIS for CAD3. 配置一、ArcGIS for CAD概述 1. ArcGIS for CAD介绍 ArcGIS for CAD是Esri提…...

Django模型(一)
一、介绍 模型,就是python中的类对应数据库中的表 1.1、ORM ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写 ORM 把数据库映射成对象 1.…...

【ChatGPT】文本向量化与余弦相似度:揭开文本处理的神秘面纱(5)
1、引言 在这个数字化的时代,我们每天都会面对大量的文本信息,从社交媒体到新闻报道,文本无处不在。但是,计算机要如何理解和处理这些文字呢?本文将为大家揭开其中的一些奥秘,详细解释文本向量化的概念&am…...

计算机中丢失mfc100u.dll怎么解决,详细解析mfc100u.dll丢失的解决方法
遭遇“无法找到mfc100u.dll”的错误不必过分担忧,这是一个普遍现象。许多用户在启动某些软件或游戏的时候可能会碰到这样的情况。通常,这个错误信息表明你的计算机系统中缺失了一个关键的动态链接库(DLL)文件,它可能会妨碍应用程序的顺利启动…...

代码随想录 Leetcode617.合并二叉树
题目: 代码(首刷看解析 2024年1月31日): class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if (!root1) return root2;if (!root2) return root1;root1->val root2->val;root1->left mergeTree…...
知识价值1-github站点域名
github如果访问不上,有一个办法是hosts映射: github.com x.x.x.x github.global.ssl.fastly.net y.y.y.y assets-cdn.github.com z.z.z.z1 assets-cdn.github.com z.z.z.z2 assets-cdn.github.com z.z.z.z3 assets-cdn.github.com z.z.z.z3 那这几个域名…...
【PyRestTest】进行Benchmarking测试
PyRestTest支持通过Curl请求本身收集比较差的网络环境下的性能指标。 基准测试:它们扩展了测试中的配置元素,允许你进行相似的REST调用配置。然而,它们不对HTTP响应情况进行验证,它只收集指标数据。 下列选项被指定用于benchmar…...

cocos creator 调用预设体Prefab中的方法(调用另一个节点的方法)
调用预设体中的方法 通过cc.instantiate(this.star)创建这个预设体实例这个star预设体中添加了一个脚本组件star.ts 获取到这个脚本组件star.getComponent(‘star’).test(),并调用其中的test()方法同理可以用该方式像另一个节点中传值 //星星预设体property(cc.Pr…...
Spring 学习2 --基于xml管理Bean
1、xml管理Bean <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://www.springfr…...
Java数组遍历深度解析
数组是Java编程中一种非常重要的数据结构,它用于存储相同类型的多个元素。在实际应用中,我们经常需要遍历数组中的所有元素,以进行相应的操作。理解数组的遍历方法对于编写高质量的代码至关重要。本文将深入探讨Java中的数组遍历方法。 一、…...

海洋鱼类检测7种YOLOV8NANO
【免费】海洋鱼类检测,7种类型,YOLOV8训练,转换成ONNX,OPENCV调用资源-CSDN文库 采用YOLOV8NANO训练模型,得到PT模型,然后转换成ONNX,供OPENCV的DNN调用,摆脱PYTORCH依赖,…...
Vue2组件注册:全局组件和局部组件
在Vue 2 中,你可以使用全局注册和局部注册两种方式注册组件。以下是两种方式的示例: • 全局注册 全局注册的组件可以在整个应用中使用,适用于高频的通用组件。 // 在 main.js 或者入口文件中 import Vue from vue import App from ./App.v…...

AD24-原理图与PCB交互设置及PCB常用快捷键汇总
一、原理图与PCB交互设置 1、在原理图页,工具-交叉选择模式 2、设置完成后。在原理图页选择器件,然后再PCB页也会相应被选中 3、一般将网络与Pin脚的勾去掉 4、整齐排列 5、TC:查找网络、器件、Pin脚 二、PCB常用快捷键汇总...

CTF-WEB进阶与学习
PHP弱类型 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较 在进行比较的时候,会先将字符串类型转化成相同,再比较 如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值 并且…...

C++初阶 类和对象(补充)
目录 一、友元 1.1什么是友元? 1.2如何使用友元? 1.3使用友元 1.4使用友元注意事项 二、初始化列表 2.1什么是初始化列表? 2.2为什么要有初始化列表? 2.3使用初始化列表 2.4注意事项 一、友元 1.1什么是友元? 友元是一…...

《HTML 简易速速上手小册》第2章:HTML 的标签和元素(2024 最新版)
文章目录 2.1 文本格式化标签(🎩✨📜 网页的“时尚搭配师”)2.1.1 基础示例:一篇博客的格式化2.1.2 案例扩展一:产品介绍页面2.1.3 案例扩展二:个人简历 2.2 链接和锚点(Ὢ…...

2024斋月大促跨境卖家准备指南
市场覆盖西欧、中东、东南亚、北非地区的跨境电商卖家注意了,2024年的斋月即将开启,较往年日期,今年提前了10天左右,斋月的第一天预测在3月11日星期一到来。 根据Google搜索数据可知,目前已经进入高频“斋月”搜索期&…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...