html5的语义化标签都有哪些及其作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5的语义化标签都有哪些及其作用相关的知识,希望对你有一定的参考价值。

<article>标签定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容。
html5:<article></article>
HTML4:<div></div>

<aside>标签定义 article 以外的内容。aside 的内容应该与 article 的内容相关。
HTML5:<aside>Aside 的内容是独立的内容,但应与文档内容相关。</aside>
HTML4:<div>Aside 的内容是独立的内容,但应与文档内容相关。</div>

<audio> 标签定义声音,比如音乐或其他音频流。
HTML5:<audio src="someaudio.wav">您的浏览器不支持 audio 标签。</audio>
HTML4:<object type="application/ogg" data="someaudio.wav"><param name="src" value="someaudio.wav"></object>

<canvas> 标签定义图形,比如图表和其他图像。这个 HTML 元素是为了客户端矢量图形而设计的。它自己没有行为,但却把一个绘图 API 展现给客户端 javascript 以使脚本能够把想绘制的东西都绘制到一块画布上。
HTML5:<canvas id="myCanvas" width="200" height="200"></canvas>
HTML4:<object data="inc/hdr.svg" type="image/svg+xml" width="200" height="200"></object>

<command> 标签定义命令按钮,比如单选按钮、复选框或按钮。
HTML5: <command onclick=cut()" label="cut">
HTML4: none

<datalist> 标签定义可选数据的列表。与 input 元素配合使用,就可以制作出输入值的下拉列表。
HTML5: <datalist></datalist>
HTML4: see combobox.

<details> 标签定义元素的细节,用户可进行查看,或通过点击进行隐藏。与 <legend> 一起使用,来制作 detail 的标题。该标题对用户是可见的,当在其上点击时可打开或关闭 detail。
HTML5: <details></details>
HTML4: <dl style="display:hidden"></dl>

<embed> 标签定义嵌入的内容,比如插件。
HTML5: <embed src="horse.wav" />
HTML4: <object data="flash.swf" type="application/x-shockwave-flash"></object>

<figcaption> 标签定义 figure 元素的标题。”figcaption” 元素应该被置于 “figure” 元素的第一个或最后一个子元素的位置。
HTML5: <figure><figcaption>PRC</figcaption></figure>
HTML4: none

<figure> 标签用于对元素进行组合。使用 <figcaption> 元素为元素组添加标题。
HTML5: <figure><figcaption>PRC</figcaption><p>The
People's Republic of China was born in 1949...</p></figure>
HTML4: <dl><h1>PRC</h1><p>The People's Republic of China was born in 1949...</p></dl>

<footer> 标签定义 section 或 document 的页脚。典型地,它会包含创作者的姓名、文档的创作日期以及/或者联系信息。
HTML5: <footer></footer>
HTML4: <div></div>

<header> 标签定义 section 或 document 的页眉。
HTML5: <header></header>
HTML4: <div></div>

<hgroup> 标签用于对网页或区段(section)的标题进行组合。
HTML5: <hgroup></hgroup>
HTML4: <div></div>

<keygen> 标签定义生成密钥。
HTML5: <keygen>
HTML4: none

<mark>主要用来在视觉上向用户呈现那些需要突出的文字。<mark>标签的一个比较典型的应用就是在搜索结果中向用户高亮显示搜索关键词。
HTML5: <mark></mark>
HTML4: <span></span>

<meter> 标签定义度量衡。仅用于已知最大和最小值的度量。必须定义度量的范围,既可以在元素的文本中,也可以在 min/max 属性中定义。
HTML5: <meter></meter>
HTML4: none

<nav> 标签定义导航链接的部分。
HTML5: <nav></nav>
HTML4:<ul></ul>

<output> 标签定义不同类型的输出,比如脚本的输出。
HTML5: <output></output>
HTML4: <span></span>

<progress> 标签运行中的进程。可以使用 <progress> 标签来显示 JavaScript 中耗费时间的函数的进程。
HTML5: <progress></progress>
HTML4: none

<rp> 标签在 ruby 注释中使用,以定义不支持 ruby 元素的浏览器所显示的内容。
HTML5: <ruby>汉 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt></ruby>
HTML4: none

<rt> 标签定义字符(中文注音或字符)的解释或发音。
HTML5: <ruby>汉 <rt> ㄏㄢˋ </rt></ruby>
HTML4: none

<ruby> 标签定义 ruby 注释(中文注音或字符)。
HTML5: <ruby>汉 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt></ruby>
HTML4: none

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

<source> 标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。
HTML5: <source>
HTML4: <param>

<summary> 标签包含 details 元素的标题,”details” 元素用于描述有关文档或文档片段的详细信息。”summary” 元素应该是 “details” 元素的第一个子元素。
HTML5:
<details><summary>HTML 5</summary>This document
teaches you everything you have to learn about HTML 5.</details>
HTML4: none

<time> 标签定义日期或时间,或者两者。
HTML5: <time></time>
HTML4: <span></span>

<video> 标签定义视频,比如电影片段或其他视频流。
HTML5: <video src="movie.ogg" controls="controls">您的浏览器不支持 video 标签。</video>
HTML4:<object type="video/ogg" data="movie.ogv"><param name="src" value="movie.ogv"></object>
参考技术A nav标签,header标签,footer标签,这些都是常用的语义化的标签,作用也就是让网页结构更清晰 参考技术B

 html5的语义化标签有这些琪琪作用 - https://21xrx.com/full_stack/Html/html5_semantics.html

html5的语义化标签都有哪些及其作用?

参考技术A

<header>

<header>元素描述了文档的头部区域

<nav>

标签定义导航链接的部分。

<section> 

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

<article>

<article> 标签定义独立的内容。

<aside>

<aside> 标签定义页面主区域内容之外的内容(比如侧边栏)。

<figcaption>

<figcaption> 标签定义 <figure> 元素的标题.

<figcaption>元素应该被置于 "figure" 元素的第一个或最后一个子元素的位置。

<figure>

<figure>标签规定独立的流内容(图像、图表、照片、代码等等)。

<footer>

    <footer> 元素描述了文档的底部区域.
参考技术B   一:(理论)语义化标签是什么?
语义化标签就是尽量使用有相对应的结构的含义的Html的标签,以Table为例:
<table>

<tr>

<td>消费项目</td>

<td>消费金额</td>

</tr>

<tr>

<td>吃饭</td>

<td>20元</td>

</tr>

</table>
  你看出了上面的Table有什么毛病吗?嘿嘿,那你看这个语义化的标签
<table>

<caption>花费记账</caption>

<thead>

<tr>

<th>消费项目</th>

<th>消费金额</th>

</tr>

</thead>

<tbody>

<td>吃饭</td>

<td>20元</td>

</tbody>

</table>
  这两块代码的标签不一样,第二个表格的这些标签代码,无疑更符合Web标准.
<caption>:表格的标题;
<thead>:一表格的表头;
<th>:表的某一列的列头。

再说我们习以为常的
<title>博客园简介</title><body>博客园是一个软件开发的技术乐园,它于2004年创办,这里...</body>
  你看,为什么我们看一篇文章,一下就知道标题在哪呢?在浏览器的顶端。那为什么搜索引擎能抓取呢?就是它知道这个语义化标签<title>里的就是文章标题,要是我们不遵守这个,而是:
<span>博客园简介</span><span>博客园是一个软件开发的技术乐园,它于2004年创办,这里...<span>
  那搜索引擎怎么就知道谁是标题,谁是内容了呢?它又靠什么去抓取标题呢?其实语义化不仅可以是标签语义化,还可以延伸成结构语义化.举例:
#leftfloat:left;margging-left:50px;

#rightfloat:right;margin-top:100px;

<div id="left">content..</div>

<div id="right">content..</div>
  这个例子里对id的命名稍微有点夸张,但是类似的情况却使有的,当我们想把#left这个div放到页面的右边,和#right调换位置时,难道你可以把样式改成这样?
#leftfloat:right;margin-left:50px;

#rightfloat:left;margin-top:100px;
  那样看着多别扭,多误导人这两个div的布局啊.
应该写成这样.
<div id="main">content..</div>

<div id="sidebar">content..</div>
  那样既一目了然这几个div里是什么内容也方便对其中的样式进行修改.

二:(理论)语义化标签怎么样?
1.结构更好,更利于搜索引擎的抓取(SEO的优化)和开发人员的维护(可维护性更高,因为结构清晰,so易于阅读)。
2.更有利于特殊终端的阅读(手机,个人助理等)。

三:(行动)语义化标签怎么办?
尽量用有结构含义的,少用无语义的,如<span>,<div>无意义,看不出是什么东西,可是<address>一看就知道这里面的是地址,em标签一看就知道这个是强调的内容,区分于不同内容。

那么,怎么判断你的页面是否符合Web标准之一:语义化标签呢?你可以把你的页面暂时去掉样式后看可读性怎么样,如果这个时候感觉你的页面很乱,那就说明的的页面的语义化标签不怎么样,而如果你的页面去掉样式了感觉依然不是杂乱无章的,那么,就说明你的页面结构清晰,语义化标签比较可以了。
参考技术C

 html5语义化标签有这些及其作用 - https://21xrx.com/full_stack/Html/html5_semantics.html

以上是关于html5的语义化标签都有哪些及其作用的主要内容,如果未能解决你的问题,请参考以下文章

HTML5的语义化标签都有哪些,作用是啥

语义化标签是啥?有啥作用

标签语义化对 SEO 来说有多重要

怎样理解HTML5和CSS3的语义化标签

怎样理解HTML5和CSS3的语义化标签

HTML5 语义化-详细分析