HTML语义化的案例分析| 青训营

144 阅读4分钟

什么是语义化标签?

非语义化标签

使用语义化前都用div标签,只能通过class来理解标签作用,不太好读~~

code

语义化标签

通过标签就可以理解该部分内容,方便浏览器解析,节省代码。

456

为什么要有语义化标签?

  • 根据内容的结构,选择合适的标签构建出便于开发者阅读的可维护性更⾼的代码结构,同时能够让机器更好地解析。
  • html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;
  • 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
  • 即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;
  • 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解;
  • 使用语义化标签提升过网页可访问性后 听觉障碍、视觉障碍者将可以通过辅助设备获取页面的信息!

例子

掘金官网是用Vue的SSR框架Nuxt.js构造的,好处就是利于SEO

由于采用SSR构造,搜索引擎爬虫通常只能爬取HTML等静态资源,传统的SPA采用客户端渲染会导致搜索引擎难以理解和抓取页面内容,而SSR能够生成已经渲染好的HTML,使得搜索引擎更容易理解和索引网页内容。

image-20230727094631690

今日头条是一家知名的新闻资讯网站,我们可以通过分析它的HTML结构来对比语义化标签与非语义化标签的差异。

  1. 语义化标签的使用:

在今日头条的网站中,我们可以看到大量使用了语义化标签来表示页面的结构和内容。例如,在头部部分,使用了<header>标签来包含站点的标题和导航栏。在导航栏中,使用了<nav>标签来表示导航菜单。

在内容部分,每个新闻文章使用了<article>标签来表示,这样可以将每篇文章都视为独立的内容单位。而每篇文章中的不同章节,如标题、正文、图片等,使用了适当的语义化标签,如<h1><p><img>等,来表示内容的层级和类型。

image-20230727102731833

  1. 非语义化标签的使用:

虽然今日头条大部分的HTML结构都使用了语义化标签,但仍然存在一些非语义化标签的使用。

例如,在一些广告部分,使用了<div>标签来包含广告内容。这样的标签缺乏明确的语义,不利于搜索引擎的理解和网页的可访问性。

此外,在一些页面布局中,也使用了<div>标签来表示各种容器,如侧边栏、底部栏等。这种用法属于典型的非语义化标签使用,没有提供额外的结构信息。

image-20230727103021406

通过对比今日头条的HTML结构,我们可以看到语义化标签能够更好地表达页面的结构和含义,提高可读性、可访问性和SEO。使用语义化标签能够让开发者和搜索引擎更好地理解网页的结构,提升用户体验,在浏览器查找相关信息时,会准确提供信息。

常用的HTML语义化标签

  • <title> :标题
  • <h1-6> :h1~h6,分级标题,<h1><title> 协调有利于搜索引擎优化。
  • <hearder>: 页眉通常包括网站标志、主导航、全站链接以及搜索框。
  • <nav> :标记导航,仅对文档中重要的链接群使用。
  • <main> :页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
  • <article> :定义外部的内容,其中的内容独立于文档的其余部分。
  • <section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
  • <aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。
  • <footer>:页脚,只有当父级是body时,才是整个页面的页脚。
  • <figure>:规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。
  • <cite>:表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。