说一说 HTML 语义化?
一、 什么是语义化的 HTML ?
语义化的 HTML 就是正确的标签做正确的事情,能够便于开发者阅读和写出更优雅的代码的同时让网络爬虫很好地解析。
二、为什么要做到语义化?
- 有利于SEO,有利于搜索引擎爬虫更好地理解我们的网页,从而获取更多的有效信息,提升网页的权重。
- 在没有 CSS 的时候能够清晰的看出万股额的结构,增强可读性。
- 便于团队开发和维护,语义化的 HTML 可以让开发者更容易地看明白,从而提升团队的效率和协调能力。
- 支持多终端设备的浏览器渲染。
三、常见的语义化标签
<title>
:定义文档的标题(注:只能在 head标签内出现)<hn>
: h1~h6,分级标题,<h1>
与<title>
协调有利于搜索引擎优化。<ul>
:无序列表。<ol>
:有序列表。<header>
:页眉通常包括网站标志、主导航、全站链接以及搜索框。<nav>
:标记导航。<main>
:页面主要内容,一个页面只能使用一次。如果是 web 应用,则包围其主要功能。、<aricle>
:定义外部内容,其中的内容独立于文档的其余部分。<section>
:定义文件中的节(section、区段)。比如章节、页面、页脚或文档中的其他部分。<aside>
:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。<footer>
:页脚,只有当父级是 body 时,才是整个页面的页脚。<small>
:成小号字体效果,指定细则,输入免责声明、注解、署名、版权。<em>
:将其中的文本表示为强调的内容,表现为斜体。<strong>
:和 em 标签一样,用于强调文本,但它强调的程度更强一些。<mark>
:使用黄色突出显示部分文本。<figure>
:规定独立的流内容(图像、图表、照片、代码等)。(默认有40 px 作业 margin)<figcaption>
:定义 figure 元素的标题,应用被置于 figure 元素的第一个或最后一个子元素的位置。<cite>
:表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。<blockquoto>
:定义块引用,块引用拥有它们自己的空间。<q>
:短的引述(跨浏览器问题,尽量避免使用)<time>
:datetime 属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。<abbr>
:简称或缩写。<dfn>
: 定义术语元素,与定义必须紧挨着,可以在描述列表 dl 元素中使用。<address>
:作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。<del>
:移除的内容,定义文档中已被删除的文本。<ins>
:添加的内容,定义文档中添加的文本。<code>
:标记代码。<meter>
:定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签)<progress>
:定义运行中的进度(进程)。
三、语义化 HTML 该怎么做呢?
- 在做前端开发的时候要记住:HTML告诉我们一块内容是什么(或其意义),而不是它长什么样子,它的样子应该由 CSS 来决定。(结构与样式分离!)
- 写语义化的 HTML 结构其实很简单,首先掌握 HTML 中各个标签的语义,在看到内容的时候想想用什么标签能更好地描述它,是什么就用什么标签。
<h1>
~<h6>
,作为标题使用,并且依据重要性递减,<h1>
是最高的等级。<p>
段落标记,知道了<p>
作为段落,就不会再使用<br>
来换行了,而且不需要<br>
来区分段落与段落。<p>
中的文字会自动换行,而且换行的效果优于<br>
。段落与段落之之间的空隙也可以利用 CSS 来控制,很容易而且清晰地区分出段落与段落。<ul>
无序列表,被大家广泛地使用,<ol>
有序列表也挺常用。在 web 标准化过程中,<ul>
还被更多地用于导航条,本来导航条就是个列表,这样做是完全正确的,而且当你的浏览器不支持 CSS 的时候,导航链接仍然很好使,只是美观方面差了一点而言。<dl>
就是“定义列表”。比如说词典里面的词的解释,定义就可以用这种列表。<em>
是用作强调,<strong>
是用作重点强调。<q>
也不仅仅只是为文件增加双引号,二是代表这些文字是引用来的。
文章借鉴:
[1] 百度(https://m.php.cn/article/471456.html)
[2] 博主萌新小吉(https://blog.csdn.net/m0_48166663/article/details/124040188)