最高效的WEB程序员学习网站
SVG手册 HTML5手册
 

<dl>、<dt>和<dd>标记的用法


<dl>、<dt>、<dd>这三个html标记是一个组合,它们很很像<ul><li>这个标签组合,但<dl>、<dt>、<dd>通常是用来描述一些术语定义,比如附录里的词汇表,或用来显示key-value这样成对的键和值。

<dl>、<dt>、<dd>通常被称为定义性列表。


例一:一个术语对应一条解释或定义

<dl>
  <dt>Firefox</dt>
  <dd>A free, open source, cross-platform, graphical web browser
      developed by the Mozilla Corporation and hundreds of volunteers.</dd>

  <!-- other terms and definitions -->
</dl>


例二:多个术语对应一条解释或定义

<dl>
  <dt>Firefox</dt>
  <dt>Mozilla Firefox</dt>
  <dt>Fx</dt>
  <dd>A free, open source, cross-platform, graphical web browser
      developed by the Mozilla Corporation and hundreds of volunteers.</dd>

  <!-- other terms and definitions -->
</dl>


例二:一个术语对应多条解释或定义

<dl>
  <dt>Firefox</dt>
  <dd>A free, open source, cross-platform, graphical web browser
      developed by the Mozilla Corporation and hundreds of volunteers.</dd>
  <dd>The Red Panda also known as the Lesser Panda, Wah, Bear Cat or Firefox,
      is a mostly herbivorous mammal, slightly larger than a domestic cat
      (60 cm long).</dd>

  <!-- other terms and definitions -->
</dl>


例二:多术语和解释或定义

<dl>
    <dt>Name</dt>    
    <dd>Godzilla</dd>
    <dt>Born</dt>
    <dd>1952</dd>
    <dt>Birthplace</dt>
    <dd>Japan</dd>
    <dt>Color</dt>
    <dd>Green</dd>
</dl>

HTML5视频<video>/音频<audio>的用法介绍


HTML5里引入的新标记 <audio><video> 实现了HTML对视频播放和音频播放的原生支持,有了这种原生的HTML5视频播放器/音频播放器,我们不再需要flash技术,而直接能将视频/音频嵌入到了网页中。

如何嵌入视频和音频

在网页里嵌入HTML5音频播放器和视频播放器的方法非常简单:

<video src="http://www.webhek.com/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
  Your browser does not support the <code>video</code> element.
</video>

上面这个例子显示了如何播放一个视频文件,并露出视频播放控制按钮。

下面这个例子是在HTML网页里嵌入音频 audio 的方法:

<audio controls autoplay loop src="/test/audio.ogg">
<p>Your browser does not support the <code>audio</code> element.</p>
</audio>

这里的 src 属性里可以填入一个音频/视频的URL,也可以是一个本地的文件。

<audio src="audio.ogg" controls autoplay loop>
<p>Your browser does not support the <code>audio</code> element </p>
</audio>

下面是<audio><video> 两个标记上控制属性的含义:

  • controls : 显示标准的 HTML5 视频/音频播放器控制条、控制按钮。
  • autoplay : 让文件自动播放。
  • loop : 让文件循环播放。
<audio src="audio.mp3" preload="auto" controls></audio>

这里的 preload 属性是用来缓存大体积文件的。它有三个可选值:

  • "none" 不缓存
  • "auto" 缓存
  • "metadata" 只缓存文件元信息

为了能够兼容各种浏览器对不同媒体类型的支持,我们可以用多个 <source> 元素来提供多个不同的媒体类型。例如:

<video controls>
  <source src="foo.ogg" type="video/ogg">
  <source src="foo.mp4" type="video/mp4">
  Your browser does not support the <code>video</code> element.
</video>

支持Ogg格式视频流的浏览器可以播放 Ogg 文件。如果不支持,可以播放 MPEG-4 文件。查看各种浏览器对各种媒体类型的支持情况,请查看这里

我们还可以指定播放使用的解码器(codecs); 这样就可以更精确的让浏览器如何播放提供的视频:

<video controls>
  <source src="foo.ogg" type="video/ogg; codecs=dirac, speex">
  Your browser does not support the <code>video</code> element.
</video>

上面,我们指定了这个视频需要使用 Dirac 和 Speex 解码器。如果浏览器支持 Ogg 格式,但没有指定的解码器,那么,视频将不会被加载。

如果没有提供 type 属性,则浏览器会向服务器询问媒体类型,看看是否支持;如果不支持,浏览器将会去检查下一个 source 属性。

用JavaScript控制视频/音频播放

一旦视频文件正确的嵌入到了HTML网页里,我们就可以使用JavaScript里控制它的部分,获取它的播放信息。比如,用JavaScript启动视频播放:

var v = document.getElementsByTagName("video")[0];
v.play();

用JavaScript可控制HTML5视频播放器实现播放、暂停、快进,快退、音量等。

<audio id="demo" src="audio.mp3"></audio>
<div>
  <button onclick="document.getElementById('demo').play()">播放</button>
  <button onclick="document.getElementById('demo').pause()">暂停</button>
  <button onclick="document.getElementById('demo').volume+=0.1">降低音量</button>
  <button onclick="document.getElementById('demo').volume-=0.1">提高音量</button>
</div> 

停止下载视频文件

虽然我们可以使用pause()方法里让视频文件停止播放,但浏览器并未停止下载媒体文件,除非它达到了一定的缓存量。

下面是让浏览器如何停止下载视频文件的方法:

var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src='';
//或
mediaElement.removeAttribute("src");

通过删除 src 属性(或者设置为空值),这样就能停止文件的网络下载。

设定播放的时间点定位

我们可以指定视频从某时某分某秒开始播放,这是通过设置 currentTime 属性来实现。

我们可以通过 seekable 属性来获得视频有效的播放时间范围。它会返回一个 TimeRanges 对象,能够告诉你有效的开始时间和结束时间。

var mediaElement = document.getElementById('mediaElementID');
mediaElement.seekable.start(0);  // 返回开始时间 (秒)
mediaElement.seekable.end(0);    // 返回结束时间 (秒)
mediaElement.currentTime = 122; // 定位到第 122 秒播放
mediaElement.played.end(0);      // 返回已经播放的时间长度(秒)

设定播放范围

当在网页里嵌入视频/音频文件时, <audio><video> 元素允许我们提供一些额外的信息来指定播放哪一时间段。实现的方法是在媒体文件后面跟随(“#”)格式的信息。

它的具体语法是这样的:

#t=[开始时间][,结束时间]

时间的表示方法可以使用秒数,也可以提供一个 ”时:分:秒“ 格式的时间(例如 2:05:01 )。/p>

举例:

http://www.webhek.com/video.ogg#t=10,20
指定视频从10秒开始播放,到20秒处结束。
http://www.webhek.com/video.ogg#t=,10.5
指定视频从头开始播放到 10.5 秒处。
http://www.webhek.com/video.ogg#t=,02:00:00
指定视频播放2小时。
http://www.webhek.com/video.ogg#t=60
指定视频从第60秒开始播放,播放到结束。

HTML5 <progress>


<progress>标记,顾名思义,就是显示进度条。

<progress>标记的几个属性:

max
进度条的最大值,必须是大于零的值,可以是浮点数。缺省值为1
value
进度条的完成进度,必须是小于max的值。

例1

<progress value="70" max="100">70 %</progress>

HTML5 <output>


这个<output>标记是用来输出计算结果或用户动作的结果。

<output>元素的几个属性:

for
用来指明参与计算的元素的ID,用空格分割多个ID
form
这个元素相对应的表单的ID,如果这个元素放在一个表单内,这不用指明这个值。当它位于表单外时,需要指明是属于哪个表单。
name
这个元素的名称。

例1

<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
    <input type="range" name="b" value="50" /> +
    <input type="number" name="a" value="10" /> =
    <output name="result"></output>
</form>

例2

<form onsubmit="return false" oninput="o.value = parseInt(a.value) + parseInt(b.value)">
  <input name="a" type="number" step="any"> +
  <input name="b" type="number" step="any"> =
  <output name="o"></output>
</form>

HTML5 <datalist>


<datalist>标记很很像<select>标记,它里面可以放置很多个<option>元素,而且也呈现出下拉列表的样子,但它显示的地方不一样。它只是一个数据容器,需要使用它的<input>元素使用list属性引用<datalist>列表。于是这个<input>不仅可以直接输入数据,而且可以从下拉列表中选择数据。

<label>从列表中选择一种浏览器:
<input list="browsers" name="myBrowser" /></label>
<datalist id="browsers">
  <option value="谷歌浏览器">
  <option value="火狐浏览器">
  <option value="IE浏览器">
  <option value="Opera浏览器">
  <option value="Safari浏览器">
</datalist>

HTML5 <section>


HTML Section 元素 (<section>) 表示文档中的一个区块(或章节),比如,内容中的一个专题组,一般来说会有包含一个标题。 每个<section>的结构应该是相似的,通常会将一个标题元素(<h1><h6> 元素)作为子元素。

用法说明 :

  • 如果<section>元素的内容感觉是相互分离但可以合在一起的内容,那么,应该用<article>元素来替换它。
  • 不要把 <section> 元素作为一个普通的容器来使用;这种情况是 <div>的适用范围,特别是当它的目标只是美化样式的情况。 通常来说一个 <section> 应该只被当做文档结构框架来使用。

用法说明:

<section>
  <h1>Heading</h1>
  <p>Bunch of awesome content</p>
</section>

例 2

主体前

<div>
  <h2>Heading</h2>
  <img>some image</img>
</div>

主体后

<section>
  <h2>Heading</h2>
  <img>some image</img>
</section>

HTML5 <nav>


HTML (<nav>)元素用来表示一个含有多个超链接的区域,这个区域的连接可以连接到其他页面,也可以连接到本页面内部其他部分。

用法说明:

  • 并不是所有的链接都必须使用<nav>元素,它只用来将一些热门的链接放入导航栏,例如<footer>元素就常用来在页面底部包含一个不常用到,没必要加入<nav>的链接列表.
  • 一个网页也可能含有多个<nav>元素,例如一个是网站内的导航列表,另一个是本页面内的导航列表.
  • 对于屏幕阅读障碍的人,可以使用这个元素来确定是否忽略初始内容.

示例

<nav>
  <ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">关于</a></li>
    <li><a href="#">联系方式</a></li>
  </ul>
</nav> 

HTML5 <header>


HTML <header> 元素用来表示一些前言性质或导航类的内容。它可以包含一些标题性质元素,也可以放置一些比如logo,搜索框,或其它的<header>元素等。

使用说明:

  • <header>元素并不是一个可以形成段落内容的元素,所以,不需要在内容目录里体现出来。

用法例子

<header>
  a logo
</header> 

HTML5 <figure>


HTML <figure> 元素是一个自我独立的内容元素,通常会包含一个标题说明(<figcaption>),,内容通常会是一个图片,图表,代码片段或跟主内容相关的图解,它可以放到主内容布局里,也可以放到另外一个页面,或主内容框架之外的附录里。

用法说明:

  • <figure> 元素的内容目录(如果有),不要和主内容目录混合到一起。
  •  在<figure> 元素的顶部或尾部插入<figcaption>元素来表示标题说明。

使用例子

例 1

<!-- 表示图片 -->
<figure>
  <img src="https://know.webhek.com/html5/media/img/mdn-logo-sm.png" alt="An awesome picture">
</figure>
<p></p>
<!-- 有标题的图片 -->
<figure>
  <img src="https://know.webhek.com/html5/media/img/mdn-logo-sm.png" alt="An awesome picture"> 
  <figcaption>Fig1. MDN Logo</figcaption>
</figure>
<p></p>

 

例 2

<figure>
  <figcaption>Get browser details using navigator</figcaption>
  <pre>
function NavigatorExample() {
  var txt;
  txt = "Browser CodeName: " + navigator.appCodeName;
  txt+= "Browser Name: " + navigator.appName;
  txt+= "Browser Version: " + navigator.appVersion ;
  txt+= "Cookies Enabled: " + navigator.cookieEnabled;
  txt+= "Platform: " + navigator.platform;
  txt+= "User-agent header: " + navigator.userAgent;
}            
  </pre>
</figure>

例 3

<figure>
  <figcaption><cite>Edsger Dijkstra :-</cite></figcaption>
  <p>"If debugging is the process of removing software bugs, <br /> then programming must be the process of putting them in"</p>
 </figure>

HTML5 <footer>


HTML Footer 元素 (<footer>)用来表示整个文档或与其相应的某个区域内容的页脚。一个footer通常包含的内容有:作者信息,版权信息或相关连接。

使用注意事项:

  • <footer>元素中的作者信息信息应该放到一个<address>元素里。
  • <footer>元素自己不能成为一个段落内容,因此它不应在文档目录里体现出来。

例子

<footer>
  版权信息,或文章的作者信息。
</footer>