第5章HTML5的新增标签

本章学习目标
 了解HTML5新增标签的作用
 掌握使用audio和video标签的方法
本章介绍几个HTML5的新增标签,体会HTML5新增标签给网页设计带来的便利。
5.1输入类型number
随着浏览器的发展,结合以往网页开发时的需求,HTML5引入了新的标签,这会降低我们开发网页的难度。查看网页https://www.w3school.com.cn/html/html_form_input_types.asp,可以看到HTML5引入的新的输入类型,这里仅简单介绍几个。这些输入类型,有的相当于网页中JavaScript的作用,对输入数据按要求进行了验证,但不需要用户自己书写JavaScript了。
输入类型number用于应该包含数字值的输入字段,能够对数字做出限制。在提交表单时,浏览器会自动验证 number 域的值。输入类型number适用的浏览器如表5.1所示。只有高版本的浏览器才支持HTML5新引入的标签。

表5.1输入类型number适用的浏览器



IEFirefoxOperaChrome

NO4.09.010.0






【例51】输入类型number示例。
ch5_01.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8"/>

05<title>输入类型number</title>

06</head>

07<body>

08<form action="https://www.w3school.com.cn/example/html5/demo_form.asp">

09数量(1到5之间):

10<input type="number" name="quantity" min="1" max="5">

11<input type="submit">

12</form>

13</body>

14</html>

运行上述代码后出现如图5.1所示界面。 


图5.1number输入类型验证


(1) 输入一个范围1~5的数字3,提交可以得到如图5.2所示的界面。 


图5.2正确输入数据时的响应






(2) 输入非数字时,例如tiankong,提交可以得到如图5.3所示的界面。 


图5.3输入字母时的验证


(3) 修改form的action=“#”,输入一个不是1~5的数字6,提交可以得到如图5.4所示的界面,说明验证是由浏览器完成的。


图5.4输入6时的验证


5.2输入类型email
email类型用于应该包含email地址的输入域。在提交表单时,浏览器会自动验证email域的值,验证的格式为带有@的字符串。用法参见例52。







【例52】输入类型email示例。
ch5_02.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8" />

05<title>输入类型email</title>

06</head>

07<body>

08<form action="#">

09E-mail: <input type="email" name="user_email" />

10<input type="submit">

11</form>

12</body>

13</html>

输入一个email值58700865.qq.com,单击提交后响应如图5.5所示,提示我们输入的字符串不是电子邮件地址的格式,因为不含有@符号。


图5.5输入类型email格式不对时的验证


5.3输入类型url
url类型用于应该包含 URL 地址的输入域。在提交表单时,浏览器会自动验证url域的值,输入类型要符合url格式。
用法参见例53。





【例53】输入类型url示例。
ch5_03.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8" />

05<title>输入类型url</title>

06</head>

07<body>

08<form action="#">

09Homepage: <input type="url" name="user_url" /><br />

10<input type="submit">

11</form>

12</body>

13</html>

运行上述代码后出现如图5.6所示界面,因未带有协议名,不符合url格式,故有提示。


图5.6输入类型url格式不对时的验证



5.4输入类型date
输入类型date用于应该包含日期的输入字段。若浏览器支持,日期选择器会出现在输入字段中。借助于图形输入可以规范日期输入格式,确保日期符合要求。





用法参见例54。
【例54】输入类型date示例。
ch5_04.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8" />

05<title>输入类型date</title>

06</head>

07<body>

08<form action="#">

09生日<input type="date" name="bdaytime">

10<input type="submit">

11</form>

12</body>

13</html>

运行上述代码后出现如图5.7所示界面。在我们输入日期时,会出现日期提示选择窗口,能保证我们的输入符合日期格式的要求,例如月份不能大于12。注意在不同的浏览器里显示可能会略有不同。


图5.7输入类型date验证


5.5表单属性autocomplete 
表单属性autocomplete适用于<form>标签和以下类型的 <input> 标签: text、search、url、telephone、email、password、datepickers、range以及color。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
编码示例如下。





【例55】表单属性autocomplete示例。
ch5_05.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8" />

05<title>表单属性autocomplete</title>

06</head>

07<body>

08<form action="#" method="get" autocomplete="on">

09First name:<input type="text" name="fname" /><br />

10Last name: <input type="text" name="lname" /><br />

11E-mail: <input type="email" name="email" autocomplete="off" /><br />

12</form>

13</body>

14</html>

运行上述代码,首次输入测试信息后,出现如图5.8所示的界面。


图5.8表单属性autocomplete的验证


按F5键刷新页面后,出现如图5.9所示界面。因form表单设置了autocomplete="on",浏览器应该在该域中显示填写的选项,所以第一个、第二个文本框会留下上次输入的结果。但email输入设置了autocomplete="off",所以不会留下上次输入。


图5.9自动显示填写的选项


5.6音频audio
直到现在,仍然不存在一项关于在网页上播放音频的标准。今天,大多数音频是通过插件(例如Flash)来播放的。然而,并非所有浏览器都拥有同样的插件。HTML5规定了一种通过audio元素来包含音频的标准方法。audio元素能够播放声音文件或者音频流。当前,audio元素支持Ogg Vorbis、MP3、WAV三种音频格式。大多数高版本的浏览器都支持这三种音频格式。<audio>标签用于定义声音,例如音乐或其他音频流。<audio>标签是HTML 5的新标签,其常用属性如表5.2所示。

表5.2<audio>标签的常用属性



属性值描述

autoplayautoplay音频在就绪后马上播放
controlscontrols向用户显示控件,例如播放按钮
looploop每当音频结束时重新开始播放
preloadpreload音频在页面加载时进行加载,并预备播放。如果使用autoplay,则忽略该属性
srcurl要播放的音频的URL






【例56】audio标签示例。
ch5_06.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta charset="utf-8">

05<title>audio标签</title>

06</head>

07<body>

08<audio src="./i/test.mp3" controls="controls">

09<audio src="./i/test.m4a" controls="controls">

10Your browser does not support the audio element.

11</audio>

12</body>

13</html>

运行上述代码后出现如图5.10所示的界面。 


图5.10audio标签示例


audio元素允许多个source 元素。source 元素可以链接不同的音频文件,浏览器将使用第一个可识别的格式。例56使用第一个mp3文件,适用于Firefox、Opera以及Chrome浏览器。当素材音频文件不符合要求时,可以使用格式转换器进行转换,如图5.11所示,可以把手机录音的m4a文件转换为mp3文件。


图5.11mp3音频转换


5.7视频video
今天,大多数视频是通过插件(例如Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。HTML5规定了一种通过video元素来包含视频的标准方法。当前,video元素支持Ogg、MPEG 4、WebM三种视频格式。
Ogg: 带有Theora视频编码和Vorbis音频编码的视频文件。
MPEG4: 带有H.264视频编码和AAC音频编码的视频文件。
WebM: 带有VP8视频编码和Vorbis音频编码的视频文件。
<video>标签用于定义视频,例如电影片段或其他视频流。<video>标签是HTML5的新标签,其常用属性如表5.3所示。

表5.3<video> 标签的常用属性



属性值描述

autoplayautoplay如果出现该属性,则视频在就绪后马上播放
controlscontrols如果出现该属性,则向用户显示控件,例如播放按钮
heightpixels设置视频播放器的高度
looploop如果出现该属性,则当媒介文件完成播放后再次开始播放
preloadpreload如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用autoplay,则忽略该属性
srcurl要播放的视频的URL
widthpixels设置视频播放器的宽度

HTML5 <video>元素同样拥有方法、属性和事件,其中方法用于播放、暂停以及加载等,属性(例如时长、音量等)可以被读取或设置。





【例57】video标签示例。
ch5_07.html内容如下: 

01<!DOCTYPE html>

02<html>

03<head>

04<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

05<title>video标签使用</title>

06</head>

07<body>

08<video width="320" height="240" controls="controls">

09<source src="IPAddress.wmv" type="video/wav">    

10<source src="IPAddress_H264.mp4" type="video/mp4">

11Your browser does not support the video tag.

12</video>    

13</body>

14</html>

controls属性供添加播放、暂停和音量控件,包含宽度和高度属性。video元素允许多个source元素,source元素可以链接不同的视频文件,浏览器将使用第一个可识别的格式。例57中IPAddress.wmv不被识别,所以会使用IPAddress_H264.mp4。ch5_07.html的运行效果如图5.12所示。


图5.12video运行示例


注意这里需要是H.264视频编码和AAC音频编码的MPEG4文件,如果不是则无法播放。示例文件夹给出了一个不是H.264视频编码的IPAddress.mp4,可以尝试去播放它观察效果。当素材视频文件不符合要求时,可以使用格式转换器进行转换,如图5.13所示。单击“高级”,会出现MP4编码格式选择界面,如图5.14所示。可以把手机录制的MP4文件转换为符合要求的格式。


图5.13转换mp4



图5.14mp4格式选择


这里仅介绍上述几个HTML5标签,目前HTML5在实际系统使用中还需要考虑兼容性的问题。随着时间推移,浏览器会支持越来越多的HTML5标签,开发网页也会容易些。
习题5
一、问答题
1. 列举几个HTML5的新增标签。
2. 简述HTML5的新特性。
二、 操作题
1. 使用<audio>标签在网页上实现音频播放。
2. 使用<video>标签在网页上实现视频播放。