html5新增元素

一、HTML5新增结构元素

之前,我们只能用万能的div标签,并为其设置不同的id如header, footer, sidebar等来分别表达头部,底部或者侧栏等。而现在代码编写者不再需要为id的命名费尽心思,对于手机、阅读器等设备更有语义的好处。

HTML 5增加了新的结构元素来表达这些最常用的结构:

  1. section: 这可以表达书本的一部分或一章,或者一章内的一节
  2. header: 页面主体上的头部。并非head元素
  3. footer: 页面的底部(页脚),可以是一封邮件签名的所在
  4. nav: 到其他页面的链接集合
  5. article: 诸如blog, 杂志,纲要等之中的一条独立记录

举个例子,一个blog的首页,用HTML 5写的话,可以是这样:

<!DOCTYPE html>
<html>
<head>
<title>HTML5 新增结构元素</title>
</head>
 
<body>
<header>
        <hgroup>
                <h1>Page title</h1>
                <h2>Page subtitle</h2>
        </hgroup>
        </header>
 
<nav>
        <ul>
                Navigation...
        </ul>
</nav>
<section>
        <article>
                <header>
                        <h1>Title</h1>
                </header>
                <section>
                        Content...
                </section>
        </article>
        <article>
                <header>
                        <h1>Title</h1>
                </header>
                <section>
                        Content...
                </section>
        </article>
</section>
 
<aside>
        Top links...
</aside>
 
<figure>
        <img src="..."/>
        <figcaption>Chart 1.1</figcaption>
</figure>
 
<footer>
        Copyright ©
        <time datetime="2010-11-08">2010</time>.
</footer>
</body>
</html>
 

二、HTML5新增块级元素

  1. aside: 定义页面内容之外的内容,比如侧边栏
  2. figure: 定义媒介内容的分组,以及它们的标题
  3. figcaption: 媒介内容的标题说明
  4. dialog: 定义对话(会话)

aside可以用以表达注记、贴士、侧栏、摘要、插入的引用等诸如作为补充主体的内容。比如这样表达blog的侧栏:

<aside>
        <h3>最新文章</h3>
        <ul>
                <li><a href="#" mce_href="#">文章标题</a></li>
        </ul>
</aside><>/pre
figure元素表示一个有说明的块级图片。比如:
<figure>
        <figcaption>PRC</figcaption>
        <legend>Figure 1. JavaScript Alert Box.</legend>
        <img alt="图片可替换文本" src="img.png" mce_src="img.png" />
</figure>

dialog元素用于表达人们之间的对话。在HTML 5中,dt用于表示说话者,而dd则用来表示说话者的内容。如:

<dialog>
        <dt>悟空</dt>
        <dd>什么是幸福</dd>
        <dt>佛</dt>
        <dd>我请你穿越这片田野,去摘一朵最美丽的花,但是有个规则:你不能走回头路,而且你只能摘一次。</dd>
</dialog>

三、HTML5新增行内语义标签元素

  1. mark: 定义有记号的文本
  2. time: 定义日期/时间
  3. meter: 定义预定义范围内的度量
  4. progress: 定义运行中的进度(进程)

mark元素用来标记一些不是那么需要着重强调的文本。

<p>今天别忘记了买 <mark>牛奶</mark>。</p>

time元素如其名,用来表达时间。它需要一个datetime的特性来标明机器能够认识的时间,如:

<p>On Saturdays, we open at <time>09:00</time>.</p>
<p>The concert is <time datetime="2009-02-18">next Wednesday</time>.</p>
<p>We finally hit the road at <time datetime="2009-02-17T05:00-07:00">5am last Tuesday</time>.</p>

meter元素表达特定范围内的数值。可用于薪水、百分比、分数等。比如:

<p>您的分数是:
<meter value="88.7" min="0" max="100" low="65" high="96" optimum="100">B+</meter>.
</p>
<ul>
        <li><meter>25%</meter></li>
        <li><meter>1/4</meter></li>
        <li><meter>200 out of 800</meter></li>
        <li><meter>max: 100; current: 25</meter></li>
        <li><meter min="0" max="100" value="25"></meter></li>
</ul>
<dl>
        <dt>Width:</dt>
        <dd><meter min="0" max="200" value="12" title="millimeters">173mm</meter></dd>
        <dt>Height:</dt>
        <dd><meter min="0" max="100" value="2" title="millimeters">104mm</meter></dd>
</dl>

可以使用 <progress> 标签来显示 JavaScript 中耗费时间的函数的进度。

对象的下载进度:
<progress>
<span id="objprogress">85</span>%
</progress>

四、HTML5新增行交互性标签元素

  1. details: 定义元素的细节
  2. datagrid: 定义树列表 (tree-list) 中的数据
  3. datalist: 定义选项列表
  4. menu: 定义菜单列表
  5. command: 定义命令按钮

details用来表示一段具体的内容,但是内容默认可能不显示,通过某种手段(如点击)与legend交互才显示出来。这跟现在各种通过JavaScript隐藏一段内容,在点击后才显示出来的做法有些类似。比如:

1
<details open="open">This document was written in 2010.</details>

datagriddatagrid用来控制数据,可以由用户或者脚本来更新,比如:

1
2
3
4
5
6
7
8
9
10
11
12
<datagrid>
<ol>
        <li>(datagrid row 0)</li>
        <li>(datagrid row 1)
                <ol style="list-style-type:lower-alpha;">
                        <li>(datagrid row 1,0)</li>
                        <li>(datagrid row 1,1)</li>
                </ol>
        </li>
        <li>(datagrid row 2)</li>
</ol>
</datagrid>

datalist 标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。datalist 及其选项不会被想显示出来,它仅仅是合法的输入值列表。请使用 input 元素的 list 属性来绑定 datalist。

1
2
3
4
5
6
7
8
9
10
11
12
13
<h4>Example 1 (for HTML 5 browsers)</h4>
<p>
        <label>
        Enter your favorite cartoon character:<br />
        <input type="text" name="favCharacter" list="characters">
        <datalist id="characters">
                <option value="Homer Simpson">
                <option value="Bart">
                <option value="Fred Flinstone">
        </datalist>
        </label><br />
</p>
<h4>Example 2 (for both legacy and HTML 5 browsers)</h4>

menu 在HTML 2就存在了,不过HTML 4把它废弃了。HTML 5废物利用,并在期内加上command元素。autosubmit为true时,表单控件改变时自动提交。label为菜单定义一个可见的标注,type是表现的方式,默认为list,还有context和toolbar。

1
2
3
4
5
6
7
<menu label="菜单" type="toolbar" autosubmit="true">
        <li><input type="checkbox" />Red</li>
        <li><input type="checkbox" />blue</li>
</menu>
<menu>
        <command type="command">Click Me!</command>
</menu>

五、HTML5新增行多媒体标签元素

  1. video: 定义视频
  2. audio: 定义音频
  3. source: 媒介元素(比如 <video> 和 <audio>)定义媒介资源

video标签定义视频,比如电影片段或其他视频流:

1
2
3
<video src="/video/pass-countdown.ogg" width="300" height="150" controls>
        <p>If you are reading this, it is because your browser does not support the HTML5 video element.</p>
</video>

audio标签定义声音,比如音乐或其他音频流:

1
2
3
<audio src="someaudio.wav">
您的浏览器不支持 audio 标签。
</audio>
1
2
3
4
5
<audio>
        <source src="/music/good_enough.wma" type="audio/x-ms-wma">
        <source src="/music/good_enough.mp3" type="audio/mpeg">
        <p>If you are reading this, it is because your browser does not support the HTML 'audio' element.</p>
</audio>

转:http://project.qqworld.org/archives/650

原文地址:https://www.cnblogs.com/liubingna/p/2969744.html