HTML语义类标签都有哪些?

HTML标签可以分为很多种,比如:

  • 文档元信息类;
  • 语义类;
  • 媒体替换类;
  • 链接类等等。

虽然这部分知识看起来简单,没有什么深奥的东西,但是却非常多,因此只能是”入门简单,精通困难“。

语义类标签

所有语言都是由各种不同的符号组成的。但是,这些符号本身并没有任何含义,只有在被赋予一定含义之后才能被使用,这时候符号才有了一定信息,对语言来说,就是语义。

语义是我们说话表达的意思,多数的语义实际上都是由文字来承载的。语义类标签则是纯文字的补充,比如标题、自然段、章节、列表,这些内容都是纯文字无法表达的,我们需要依靠语义标签代为表达。

语义类标签主要承载着解释的功能,它们的视觉表现基本相同,主要是为了增加代码的可读性,不但可以让人读懂,也为了让机器知道其所表达的含义。比如:

  • nav,表示导航相关信息;
  • section,表示逻辑分区、分组等;
  • article、header、footer等表示文档结构信息。

但是,在现代互联网产品中,HTML用于描述软件界面多过于富文本

而在软件界面里,实际上几乎是没有语义的,因为软件界面面对的是用户,他们只对视觉表现感兴趣,通过良好的视觉表现人们可以理解软件界面对表达的含义。比如在购物车中,每个商品就一定得用ul包起来吗?其实不然,经过精心设计的divspan是完全可以胜任的。

不过,在很多场景,语义类标签有着无可替代的优点

  • 语义类标签对开发者更为友好,使用语义类标签增强了可读性,即便是在没有CSS的时候,开发者也能够清晰地看出网页的结构,也更为便于团队的开发和维护。
  • 除了对人类友好之外,语义类标签也十分适宜机器阅读。它的文字表现力丰富,更适合搜索引擎检索(SEO),也可以让搜索引擎爬虫更好地获取到更多有效信息,有效提升网页的搜索量,并且语义类还可以支持读屏软件,根据文章可以自动生成目录等等。

然而,无论在什么时候,对于“度”的把握都是一件不那么容易的事。有时候,还是会或多或少地用错一些标签,比如对ul不加节制的使用。如果对所有并列关系都得用上ul标签,那么会造成大量标签冗余,这会对机器阅读造成混淆,并给CSS编写增加负担。

自然语言类

ruby

语义标签的使用的第一个场景,也是最自然的使用场景,就是:作为自然语言和纯文本的补充,用来表达一定的结构或者消除歧义。

看这张图片:


语义标签ruby

面对这种场景,用各种注释都达不到目的。因此在HTML5中,加入了ruby这样的标签,它由ruby、rt、rp三个标签来实现。

em strong

比较下面几句话,感受其中的意思。

今天我吃了一个苹果。

昨天我吃了一个香蕉。
今天我吃了一个苹果。

昨天我吃了两个苹果。
今天我吃了一个苹果。

试着读一读,就会知道强调的是哪部分信息,有时候是数量的多少,而有时候是到名称

em就是用来强调语气的语义类标签。而strong是在视觉表现上加强。所以,它和strong有着天壤之别。

结构类

hgroup h1~h6 section

好的文章都是有结构的,比如中国古代小说中的”章-回“,西方戏剧中的”幕“。

在HTML中,同样也需要文章(档)结构类标签,比如hhgroupheader等等,来表示文章的结构。对机器而言,这些标签会帮助生成一个树形结构目录,由各级标题组成。但是,这个结构和HTML的嵌套关系会有一定差异。

h1-h6是最基本的标题,它们表示了文章中不同层级的标题。有些时候,我们会有副标题,为了避免副标题产生额外的一个层级,我们使用hgroup标签。

从HTML 5开始,有了section标签,这个标签可不仅仅是一个有语义的div,它会改变h1-h6的语义。section的嵌套会使得其中的h1-h6下降一级,因此,在HTML5以后,我们只需要sectionh1就足以形成文档的树形结构:

<section>
    <h1>HTML语义</h1>
    <p>balah balah balah balah</p>
    <section>
        <h1>弱语义</h1>
        <p>balah balah</p>
    </section>
    <section>
        <h1>结构性元素</h1>
        <p>balah balah</p> 
    </section>
......
</section>

这段代码同样会形成前面例子的标题结构:

  • HTML语义
    • 弱语义
    • 结构性元素
    • ……

header aside footer article

随着越来越多的浏览器推出“阅读模式”,以及各种非浏览器终端的出现,语义化的HTML适合机器阅读的特性变得越来越重要。

应用了语义化结构的页面,可以明确地提示出页面信息的主次关系,它能让浏览器很好地支持“阅读视图功能”,还可以让搜索引擎的命中率提升,同时,它也对视障用户的读屏软件更友好。

<body>
    <header>
        <nav>
            ……
        </nav>
    </header>
    <aside>
        <nav>
            ……
        </nav>
    </aside>
    <section>……</section>
    <section>……</section>
    <section>……</section>
    <footer>
        <address>……</address>
    </footer>
</body>

在这个结构中,section还可以和header、aside、footer进行深层次嵌套。除此之外,还可以使用article,表示一篇具有独立性质的文章,它和body比较相似。

一个典型的场景是多篇新闻展示在同一个新闻专题页面中,这种类似报纸的多文章结构适合用article来组织。

<body>
    <header>……</header>
    <article>
        <header>……</header>
        <section>……</section>
        <section>……</section>
        <section>……</section>
        <footer>……</footer>
    </article>
    <article>
        ……
    </article>
    <article>
        ……
    </article>
    <footer>
        <address></address>
    </footer>
</body>

在这个结构中,出现的标签:

  • header,如其名,通常出现在首部,表示导航或者介绍性的内容;
  • footer,通常出现在尾部,包含一些作者信息、相关链接、版权信息等;
  • header和footer通常是body和article的直接子元素;
  • aside,表示跟文章主体不那么相关的部分,它可能包含导航、广告等工具性质的内容;
  • address,经常被误用,真正表示的是文章(作者)的联系方式,而非给机器阅读的地址。

富文本类

abbr dfn

abbr表示缩写,例如WWW是World Wide Web的缩写,就该用下面的代码表示

<abbr title="World Wide Web">WWW</abbr>.

dfn表示定义一个名词,在视觉表现上会按斜体显示,例如分别定义了Internet和World Wide Web,就应该这么使用

The terms Internet and World Wide Web are often used without much distinction. However, the two are not the same. 
The <dfn>Internet</dfn> is a global system of interconnected computer networks.
In contrast, the <dfn>World Wide Web</dfn> is a global collection of documents and other resources, linked by hyperlinks and URIs. 

figure figcaption

figure表示和文章相关的图表、图像、照片等流内容。里面可以和imgp等标签配合使用。
figcaption表示图表图像的标题。

<figure style="float: right;">
    <img src="http://static001.geekbang.org/static/time/quote/World%20Wide%20Web%20-%20Wikipedia_files/300px-Web_Index.svg.png"/>
    <figcaption>The NeXT Computer used by Tim Berners-Lee at CERN.</figcaption>
</figure>

其真实的显示效果如下:


figure标签

blockquote q cite

这三个标签都是和引述相关的。

  • blockquote,表示段落级引述内容;
  • q,表示行内的引述内容;
  • cite,表示引述的作品名。

pre samp code

这三个标签都表示按照特定格式进行排版,而不希望浏览器做过多的处理。

  • pre,表示这部分内容是预先排版过的,不需要浏览器进行排版;
  • samp,用来定义计算机程序的样本文本;
  • code,表示代码。
<pre><samp>
GET /home.html HTTP/1.1
Host: www.example.org
</samp></pre>

其他

标 签 含 义
small 之前表示字体缩小(已废弃),HTML5表示补充评论。
s 之前表示划线(已废弃),HTML5表示错误的内容,经常用于电商领域的打折价格。
i 之前表示斜体(已废弃),HTML5表示读的时候变调。
b 之前表示黑体(已废弃),HTML5表示关键字。
u 之前表示下划线,HTML5表示避免歧义的注解。
time 表示日期时间信息,为了让机器阅读更加方便。
data 跟time类似,表示给机器阅读的内容,可自由定义。
var 变量,多用于计算机和数学领域。
sub/sup 上下标,多用于科学领域。
mark 表示高亮,常用在笔记中,让内容更加醒目。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352