笔记一·HTML语义化的案例分析| 青训营

92 阅读3分钟

一、语义化

所谓语义化,就是指html语言中能够用标签来表示代码意义的形式。 好处是极大的增强了代码可读性,无障碍性,优化引擎,无门槛即可看懂代码。

例如:p 标签的含义是:段落(paragraphs)

与之相对的,span、div等标签则没有特殊含义。

以下是一些常用的html标签

·二、语义化常用标签

引用自《语义化标签大全_p标签是语义化标签吗_来说垃圾话啊的博客-CSDN博客》blog.csdn.net/qq_42241357…

<title>:页面主体内容。

<hn>:h1~h6,分级标题,<h1> 与 协调有利于搜索引擎优化。

<ul>:无序列表。

<li>:有序列表。

<header>:页眉通常包括网站标志、主导航、全站链接以及搜索框。

<nav>:标记导航,仅对文档中重要的链接群使用。

<main>:页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。

<article>:定义外部的内容,其中的内容独立于文档的其余部分。

<section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。

<aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。

<footer>:页脚,只有当父级是body时,才是整个页面的页脚。(dom树)

<small>:呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。

<strong>:和 em 标签一样,用于强调文本,但它强调的程度更强一些。

<em>:将其中的文本表示为强调的内容,表现为斜体。

<mark>:使用黄色突出显示部分文本。

<figure>:规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。

<figcaption>:定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。

<cite>:表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。

<blockquoto>:定义块引用,块引用拥有它们自己的空间。

<q>:短的引述(跨浏览器问题,尽量避免使用)。(quote)

<time>:datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。

<abbr>:简称或缩写。

<dfn>:定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。(define)

<address>:作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。

<del>:移除的内容。(delete)

<ins>:添加的内容。

<code>:标记代码。

<meter>:定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签)

<progress>:定义运行中的进度(进程)。

三、实际网站的HTML结构,对比非语义化标签的差异

实战一下 用先来个简单的

codepen.io/webzhao/emb…

分成四段(p标签),第一段label标签插入checkbox,表示为苹果和梨子图形 。第二段lable标签type为radio,命名为体育项目,分别为足球篮球第三段select标签下有三个选择。 最后一段标不标p标签都无影响,表示输入国家,定义一个数据表名字叫countries,有希腊英国美国三个选择。

语义化做的很明显。

图片1.png

然后随便打开一个网址,鼠标右键查看网页源代码,复制粘贴如下

    
<!doctype html><html lang="zh" data-server-rendered="true" data-v-52866abc><head><title>_-CSDN博客</title> <meta name="keywords" content=","> <meta name="description" content="关注unity,python,区块链,postgresql,去中心化,ue4,stable diffusion,web3,3dsmax,chatgpt,javascript领域."> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <meta name="referrer" content="always"> <meta http-equiv="Cache-Control" content="no-siteapp"> <!----> <meta name="applicable-device" content="pc"> <!----> <!----> <!----> <!----> <link rel="shortcut icon" href="https://g.csdnimg.cn/static/logo/favicon32.ico" type="image/x-icon"> <link rel="canonical" href="https://blog.csdn.net/tssctdfvdxex"> <!----> 
          <meta name="toolbar" content={"type":"0"} />
       
          <meta name="report" content={"spm":"1001.2014","pid":"blog"} />
</span
        <script>
          window.csdn.sideToolbar = {
            options: {
              contentEl: document.getElementsByClassName("user-profile-body-right")[0]
            }
          };
        </script>
       <!----> 
        <script src="https://g.csdnimg.cn/user-login/3.0.0/user-login.js"></script>
       <!----> <!----> <!----> 
        <script src="https://g.csdnimg.cn/user-medal/2.0.0/user-medal.js"></script>
       <!----> <script src="https://g.csdnimg.cn/side-toolbar/3.0/side-toolbar.js" ></script></html>

其实span和div类的标签在大多数网页上出现的还是挺多的