语义化
语义化是HTML5才定义的内容,是指用合理HTML标记以及其特有的属性去格式化文档内容。通俗地讲,语义化就是对数据和信息进行处理,使得机器可以理解。
再简单点理解就是,机器一解析就知道你这标签的用处了。例如:
<p>一行文字</p>
<span>一行文字</span>
上面两个标签可能编译出来一样的内容,但是p标签表示的段落,而span标签没任何含义。
PS:如果对语义化标签的理解不是那么深刻,最好不要为了使用而使用HTML的语义化标签。
语义化的好处
- 便于用户阅读,在样式加载失败时,页面也能保证较为完整的结构。
上图的网页结构就很好的运用了语义化的标签。
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以语义的方式来渲染网页。
- 有利于搜索引擎优化(SEO)。
爬虫依赖于标签来确定上下文和各个关键字的权重,所以语义化的标签有利于SEO优化,和搜索引擎建立良好的沟通,有助于爬虫抓取更多的有效信息。
- 代码结构清晰,便于研发人员的阅读,有利于团队合作开发。
常见的语义化标签
-
<title>:页面主体内容。
- <hn>:h1~h6,分级标题,<h1> 与 <title> 协调有利于搜索引擎优化。
-
<ul>:无序列表。
-
<li>:有序列表。
-
<header>:页眉通常包括网站标志、主导航、全站链接以及搜索框。
-
<nav>:标记导航,仅对文档中重要的链接群使用。
-
<main>:页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
-
<article>:定义外部的内容,其中的内容独立于文档的其余部分。
-
<section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
-
<aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。
-
<footer>:页脚,只有当父级是body时,才是整个页面的页脚。
- <small>:呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。
- <strong>:和 em 标签一样,用于强调文本,但它强调的程度更强一些。
- <em>:将其中的文本表示为强调的内容,表现为斜体。
- <mark>:使用黄色突出显示部分文本。
-
<figure>:规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。
-
<figcaption>:定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。
- <cite>:表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。
- <blockquoto>:定义块引用,块引用拥有它们自己的空间。
- <q>:短的引述(跨浏览器问题,尽量避免使用)。
- <time>:datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。
- <abbr>:简称或缩写。
- <dfn>:定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。
-
<address>:作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。
- <del>:移除的内容。
- <ins>:添加的内容。
- <code>:标记代码。
- <meter>:定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签)
- <progress>:定义运行中的进度(进程)。