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

93 阅读2分钟
语义化
通俗易懂来说就是指让标签具有语义,让人更容易读懂html文档。 例如,html5中新增的常用语义元素,一眼就可看出该标签作用
<header>页眉</header>
<nav>导航</nav>
<main>文档的主内容</main>
<aside>侧边栏</aside>
<footer>页脚</footer>

对比以往我们使用非语义标签 div
<div class="header">页眉</div>
<div class="nav">导航</div>
<div class="main">文档的主内容</div>
<div class="aside">侧边栏</div>
<div class="footer">页脚</div>

div加上属性的配合相比语义化标签页面效果差别不大,那么为什么推荐使用语义化标签?

语义化标签的好处:
1、代码结构清晰,易于阅读,利于开发和维护
2、提高用户体验,在样式加载失败时,页面结构清晰
3、方便其他设备解析(如屏幕阅读器)根据语义渲染网页。
4、有利于搜索引擎优化(SEO),搜索引擎爬虫会根据不同的标签来赋予不同的权重

非语义化标签案例:
下图为百度搜索引擎部分html代码,主要使用了非语义化标签来构建页面:

image.png

image.png

语义化标签案例:
下图为知页简历部分代码,主要使用语义化标签来构建页面:

image.png

image.png

从上图代码中我们可以看出该网页使用了〈sction〉、〈header〉、〈main>和〈footer〉语义化标签来部署,层次结构非常清晰。

image.png 但有意思的一点是,这里不光使用了语义化标签,也使用了非语义化标签。那么为什么h5的语义化如此方便,但是 div span 的程序目前还是占了大多数?

网上查找到的原因是说:

语义化标签基本上都是为了更好的描述博客类、文章类的网站而定义的。但是我们平时编写的网站基本上都是偏应用的。在不适合的场景下强行使用h5的语义化标签,就会发现这样的使用已经偏离了语义化标签的描述,不仅破坏了html的整体结构,还造成其他人的阅读障碍