HTML语义化

很多时候,我们写HTML,为了方便都会直接使用div和span标签,再通过class来确定具体的样式。网站哪一部分为标题,哪一部分为导航,哪一部分为头部和底部,都只能通过class进行确定该

但是class命名规范却又没有一套统一的标准(目前常用的是BEM方法),因此导致很多时候无法确定网站的整体结构。

在HTML5出现之后,添加了关于页面布局结构的新标签。在HTML书写过程中,根据不同的内容使用合适的标签进行开发,即为语义化

在编程中,语义指的是一段代码的含义(这个HTML元素有什么作用,扮演了什么样的角色)。HTML语义元素清楚地向浏览器和开发者描述其意义,例如:form、table、img等。

1、优点
对搜索引擎友好,有了良好的结构和语义,网页内容自然容易被搜索引擎抓取

2、HTML5新增语义元素
在这里插入图片描述
还有time标签

3、为什么要语义化
语义化的优势主要体现在下面几点:
1)其它开发者便于阅读代码,通过不同的标签明白每个模块的作用和区别;
2)结构明确、语义清晰的页面能有更好的用户体验,在样式(CSS)没有加载前也有较为明确的结构,更如ing这一类的,在图片无法加载的情况下,有alt属性告知用户此处图片具体是关于什么内容的;
3)有利于SEO,语义化便于搜索引擎爬虫理解,和搜索引擎建立良好的沟通,能让爬虫爬去更多关键有效的信息
4)方便其他设备阅读(如屏幕阅读器、盲人设备和移动设备等)

4、如何语义化
一般网站分为头部、导航、文章(或其他模块)、侧边栏、底部,根据不同部位,使用不同的标签进行书写。

表示页面不同位置的标签:header、nav、article、section、aside、footer
表示具体元素的作用或者意义的标签:a、abbr、address、audio、blockquote、caption、code、datalist、detail、ol、ul、img、input、p等

1)尽可能少的使用无语义的标签div或者span
2)在语义不明显时,既可以使用div标签又可以使用p标签时,尽量使用p标签,因为p标签默认情况下有上下间距,对兼容特殊终端有利;
3)不要使用纯样式标签,如:b、font、u等,使用css进行设置
4)需要强调的文本,可以包含在strong或者em标签中
5)使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
6)表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
在这里插入图片描述

7)每个input对应的说明文本都需要使用label标签,并且通过为input设置id属性,在label标签中设置for=someid来让说明文本和相对应的input关联起来
label标签的两种用法:
I、
在这里插入图片描述II、
在这里插入图片描述

5、注意
建议使用CSS样式表来设置样式,而不是用某些标签自带的特殊的样式

HTML语义化标签的作用在于提升网页结构的清晰度和可读性,使开发者、浏览器以及搜索引擎能够更准确地理解页面内容的含义与层级关系。这类标签通过其名称直接表明了所包含内容的性质,从而优化了信息的组织方式。 使用语义化标签可以显著提高代码的可维护性和协作效率[^2]。例如,在多人开发环境中,明确的标签名称如`<article>`或`<aside>`能够让团队成员迅速识别出页面不同部分的功能,而不必依赖额外注释来解释非语义化标签(如`<div>`)的用途。此外,它还增强了无障碍访问体验,辅助技术能够更好地解析并呈现内容给有需要的用户[^1]。 对于搜索引擎优化(SEO)而言,语义化标签也起到了积极作用。搜索引擎爬虫能够利用这些标签更有效地索引页面内容,进而可能改善网站在搜索结果中的排名[^3]。这不仅有助于提升网站可见性,同时也保证了即使在CSS样式缺失的情况下,页面的基本结构仍然易于理解[^4]。 常见的HTML语义化标签包括但不限于以下几种: - `<header>`:定义文档或节的页眉,通常包含网站标志、导航菜单等。 - `<footer>`:定义文档或节的页脚,常用于放置版权信息、联系方式等。 - `<nav>`:表示页面中主导航链接的部分。 - `<main>`:指定文档或应用程序的主要内容区域。 - `<section>`:定义文档中的一个章节或部分。 - `<article>`:代表独立的内容区块,比如博客文章、新闻条目等。 - `<aside>`:用来存放与页面主要内容相关但又不是核心内容的信息,例如侧边栏。 - `<figure>` 和 `<figcaption>`:分别用于包裹媒体内容及其标题。 - `<details>` 和 `<summary>`:提供一种交互式的细节展示机制,适用于FAQs或其他需要折叠展开的情景。 下面是一个简单的HTML代码示例,展示了如何使用一些基本的语义化标签构建页面结构: ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>语义化标签示例</title> </head> <body> <header> <h1>我的个人网站</h1> <nav> <ul> <li><a href="#about">关于我</a></li> <li><a href="#portfolio">作品集</a></li> <li><a href="#contact">联系</a></li> </ul> </nav> </header> <main> <section id="about"> <h2>关于我</h2> <p>这里是一段介绍自己的文字。</p> </section> <section id="portfolio"> <h2>作品集</h2> <article> <h3>项目一</h3> <p>这是我的第一个项目描述。</p> </article> <article> <h3>项目二</h3> <p>这是我的第二个项目描述。</p> </article> </section> </main> <footer> <p>© 2023 我的个人网站. 保留所有权利.</p> </footer> </body> </html> ``` 这段代码利用了多个语义化标签来组织页面布局,使得整个文档结构更加直观且易于理解。通过这种方式,无论是对人类读者还是机器解析器来说,都能够轻松把握页面的关键信息和逻辑框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值