零基础HTML教程(32)--HTML5语义化标签

embedded/2024/9/23 3:24:15/

文章目录

1. div时代

我是2009年开始学习网页开发的,那时候HTML里面到处是div。

这么说吧,那时候div就是网页的骨架,支撑着网页的主结构。

2. div的缺点

div作为逻辑分组标签,用来分组肯定没问题。

但是逻辑这块,它的能力有点不足。

例如我网页上有个标题栏、导航栏,还有一个内容区域。如果用div的话,得这么写。

html">	<!-- 标题栏 --><div><h1>钓鱼爱好者网</h1></div><!-- 导航栏 --><div><a>钓鱼技巧</a><a>钓竿购买</a><a>鱼饵购买</a></div><!-- 内容区域 --><div>钓鱼使人快乐!</div>

div本身并不能表达当前分组是干啥的,需要借助注释。

但是需要注意的是,注释只能给程序员自己看,对于浏览器、搜索引擎而言,他们还是不知道你这个分组是干啥的。

3. 语义化标签

所以我们还是需要更能表达真实含义的标签。

例如我们如果通过一个标签,说明当前内容是导航栏,那么手机浏览器就可以在空间不足时将导航栏折叠。视障人士专用浏览器就可以读出导航栏的内容。这是不是会更好?

总结来说,不用语义化标签,网页也能正常显示,但是用了语义化标签,网页会更完美。

4. 语义化标签有哪些

看图:
在这里插入图片描述
解释下:

  • header表示网页的头部,一般用来放标题栏
  • nav表示导航区域
  • main表示主要内容区域
  • aside表示侧边栏
  • article一般用来表示一篇文章
  • section表示内容区域的一个部分
  • footer表示网页的底部,一般用来放版本信息

这里需要注意的是,这些语义化标签并没有规定死就得怎么用。例如header你既可以放网页的标题栏,也可以让它作为网页一个新闻模块的标题。

我个人建议是,把这些语义化标签用到网页的主框架上,也就是说大结构上。例如内容区域就用main表示,main里面再分几个大区域的话用section,如果section里面再细分就可以用div了。

5. 实战演练

那么我们看一个比较标准的、采用了语义化标签的网页:

html"><!DOCTYPE html>
<html><head><meta charset="utf-8"><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><li><a href="#">名人</a></li><li><a href="#">视频</a></li></ul></nav><main><p>钓鱼是捕捉鱼类的一种方法。</p><p>钓鱼的主要工具有钓杆、鱼饵。</p><p>钓杆一般由竹子或塑料轻而有力的杆状物质制成,钓杆和鱼饵用丝线联接。</p><p>一般的鱼饵可以是蚯蚓、米饭、菜叶、苍蝇、蛆等,现代有专门制作好的鱼饵出售。</p><p>鱼饵可以直接挂在丝线上,但有个鱼钩会更好,对不同的鱼有特殊的专制鱼钩。</p></main><footer>版权所有 侵权必究</footer>
</body></html>

6. 小结

用了语义化标签,就是比全是div的网页帅气!


http://www.ppmy.cn/embedded/39652.html

相关文章

Gitlab搭建

Gitlab搭建 一.gitlab安装二.gitlab安装目录三.gitlab常用命令汇总四.gitlab访问测试1.登录gitlab2.配置默认访问密码3.登陆自己创建的账户 五.gitlab图形化操作1.gitlab关闭自动注册2.gitlab免密登录3.gitlab创建项目4.使用管理员创建账户5.gitlab 添加邮箱设置5.1开启SMTP功能…

RabbitMQ高级(MQ的问题,消息可靠性,死信交换机,惰性队列,MQ集群)【详解】

目录 一、MQ的问题 1. 问题说明 2. 准备代码环境 1 创建project 2 创建生产者模块 3 创建消费者模块 二、消息可靠性 1. 介绍 2. 生产者确认机制 3. MQ消息持久化 4. 消费者确认机制 5. 消费者auto模式的失败重试 6. 小结 三、死信交换机和延迟消息 1. 介绍 2. …

制造业数字化转型解决方案及应用(125页PPT)

一、资料介绍 《制造业数字化转型解决方案及应用》是一份内容丰富、深入剖析制造业数字化转型的125页PPT资料。这份资料以“智能制造、制造业数字化转型、制造业数字化转型案例”为关键词&#xff0c;全面展现了制造业数字化转型的核心理念、解决方案以及实际应用案例。 关注…

Docker 容器中 PHP 使用 Curl 访问本地服务异常

在 Docker 环境中&#xff0c;将应用程序和服务容器化是常见的做法&#xff0c;但是有时会遇到一些网络通信方面的问题。其中一个常见的问题是 PHP 容器无法使用 Curl 访问本地服务&#xff0c;这可能导致开发和调试过程中的困扰。 问题描述 通常情况下&#xff0c;我们会将 …

[redis] redis为什么快

1. Redis与Memcached的区别 两者都是非关系型内存键值数据库&#xff0c;现在公司一般都是用 Redis 来实现缓存&#xff0c;而且 Redis 自身也越来越强大了&#xff01;Redis 与 Memcached 主要有以下不同&#xff1a; (1) memcached所有的值均是简单的字符串&#xff0c;red…

从日常开发到生涯思考:我的程序员之路(一)

1.引言 在今天的分享中&#xff0c;我们将暂时放下技术话题&#xff0c;来谈一谈更加个人的体验和感悟。最近&#xff0c;我不得不面对一个艰难的决定——劝退一位同事。虽然我也只是一名普通员工&#xff0c;无法控制太多事务&#xff0c;但我始终尽力保护我的团队。面对未来的…

计算机网络实验一:对等网络的构建

实验一:对等网络的构建 1、实验要求 (1)掌握TCP/IP协议的配置; (2)掌握常见网络命令的使用; (3)掌握组建windows对等网络并配置文件共享。 2、实验内容 (1)以Microsofe Winodws 系统为例,对TCP/IP协议进行安装和配置; (2)学习使用常见的网络命令,并了解…

vue强制刷新组件

在Vue中强制刷新一个组件&#xff0c;通常不是一个推荐的做法&#xff0c;因为Vue的响应式系统设计就是为了自动处理依赖的更新。要强制重新渲染组件&#xff0c;以下是几种方法&#xff1a; 使用key属性&#xff1a; 最常见的方法是改变组件的key属性。当key发生变化时&#x…