语义化
通俗易懂来说就是指让标签具有语义,让人更容易读懂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代码,主要使用了非语义化标签来构建页面:
语义化标签案例:
下图为知页简历部分代码,主要使用语义化标签来构建页面:
从上图代码中我们可以看出该网页使用了〈sction〉、〈header〉、〈main>和〈footer〉语义化标签来部署,层次结构非常清晰。
但有意思的一点是,这里不光使用了语义化标签,也使用了非语义化标签。那么为什么h5的语义化如此方便,但是 div span 的程序目前还是占了大多数?
网上查找到的原因是说:
语义化标签基本上都是为了更好的描述博客类、文章类的网站而定义的。但是我们平时编写的网站基本上都是偏应用的。在不适合的场景下强行使用h5的语义化标签,就会发现这样的使用已经偏离了语义化标签的描述,不仅破坏了html的整体结构,还造成其他人的阅读障碍