一、什么是HTML语义化?
HTML语义化是一种Web开发技术,指根据内容的结构化(内容语义化),选择合适的标签(代码语义化),使得页面内容对于机器和人来说都更加容易理解。它不仅仅可以提高网站的可读性和可访问性,还有助于优化搜索引擎排名。通过标签判断内容语义,例如根据h1标签判断出内容是标题,根据<p>判断内容是段落、<input>标签是输入框等。
二、为什么要做到语义化?
- 有利于SEO,有利于搜索引擎爬虫更好的理解我们的网页,从而获取更多的有效信息,提升网页的权重。
- 在没有CSS的时候能够清晰的看出网页的结构,增强可读性。
- 便于团队开发和维护,语义化的HTML可以让开发者更容易的看明白,从而提高团队的效率和协调能力。
- 支持多终端设备的浏览器渲染。
三、HTML语义元素
- header:用于定义页面的头部区域,通常包括网站logo、主导航、全站链接以及搜索框。
- nav:定义页面的导航链接部分区域。
- main:定义页面的主要内容,该内容在页面中应该是独一无二的。
- article:定义页面的独立内容,它可以有自己的herder、footer、section等
- section:表示页面中的一个区域。
- aside:表示一个和页面内容几乎无关的部分,被认为是独立于该内容的一部分且可以被单独的拆分出来而不会影响整体。通常表现为侧边栏或者嵌入内容。
- footer:定义最后一个章节内容或者页脚。
常用的语义化标签
<title>:定义文档的标题(注:只能在head标签内出现)。<hn>:h1~h6,分级标题,<h1>与<title>协调有利于搜索引擎优化。<ul>:无序列表。<ol>:有序列表。<header>:页眉通常包括网站标志、主导航、全站链接以及搜索框。<nav>:标记导航。<main>:页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。<article>:定义外部的内容,其中的内容独立于文档的其余部分。<section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。<aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。<footer>:页脚,只有当父级是body时,才是整个页面的页脚。<small>:呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。<strong>:和 em 标签一样,用于强调文本,但它强调的程度更强一些。<em>:将其中的文本表示为强调的内容,表现为斜体。<figure>:规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。<figcaption>:定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。
四、HTML语义化与非语义化对比
语义化标签示例
非语义化标签示例
综上所述,HTML语义化标签和无语义化标签的选择取决于实际情况。如果想要提高页面的可读性和可访问性,同时提高搜索引擎的抓取效率和页面的排名,就应该选择语义化标签;如果只是为了实现页面布局和样式控制,就可以使用无语义化标签。