Html5入门

HTML5教程

HTML5简介

HTML5是下一代的HTML。

什么是HTML5?

HTML5将成为HTML、XHTML以及HTMLDOM的新标准。

HTML的上一个版本诞生于1999年。自从那以后,Web世界已经经历了巨变。

HTML5仍处于完善之中。然而,大部分现代浏览器已经具备了某些HTML5支持。

HTML5是如何起步的?

HTML5是W3C与WHATWG合作的结果。

编者注:W3C指WorldWideWebConsortium,万维网联盟。

编者注:WHATWG指WebHypertextApplicationTechnologyWorkingGroup。

WHATWG致力于web表单和应用程序,而W3C专注于XHTML2.0。在2006年,双

方决定进行合作,来创建一个新版本的HTML。

为HTML5建立的一些规则:

•新特性应该基于HTML、CSS、DOM以及JavaScript。

•减少对外部插件的需求(比如Flash)

•更优秀的错误处理

•更多取代脚本的标记

•HTML5应该独立于设备

•开发进程应对公众透明

新特性

HTML5中的一些有趣的新特性:

•用于绘画的canvas元素

•用于媒介回放的video和audio元素

•对本地离线存储的更好的支持

•新的特殊内容元素,比如article、footer、header、nav、section

•新的表单控件,比如calendar、date、time、email、url、search

浏览器支持

最新版本的Safari、Chrome、Firefox以及Opera支持某些HTML5特性。InternetExplorer

9将支持某些HTML5特性。

HTML5视频

许多时髦的网站都提供视频。HTML5提供了展示视频的标准。

Web上的视频

直到现在,仍然不存在一项旨在网页上显示视频的标准。

今天,大多数视频是通过插件(比如Flash)来显示的。然而,并非所有浏览器都拥有同样

的插件。

HTML5规定了一种通过video元素来包含视频的标准方法。

视频格式

当前,video元素支持两种视频格式:

InternetExplorerFirefox3.5Opera10.5Chrome3.0Safari3.0

OggXXX

MPEG4XX

Ogg=带有Thedora视频编码和Vorbis音频编码的Ogg文件

MPEG4=带有H.264视频编码和AAC音频编码的MPEG4文件

如何工作

如需在HTML5中显示视频,您所有需要的是:

<videosrc="movie.ogg"controls="controls">

</video>

control属性供添加播放、暂停和音量控件。

包含宽度和高度属性也是不错的主意。

<video>与</video>之间插入的内容是供不支持video元素的浏览器显示的:

实例

<videosrc="movie.ogg"width="320"height="240"controls="controls">

Yourbrowserdoesnotsupportthevideotag.

</video>

上面的例子使用一个Ogg文件,适用于Firefox、Opera以及Chrome浏览器。

要确保适用于Safari浏览器,视频文件必须是MPEG4类型。

video元素允许多个source元素。source元素可以链接不同的视频文件。浏览器将使用第

一个可识别的格式:

实例

<videowidth="320"height="240"controls="controls">

<sourcesrc="movie.ogg"type="video/ogg">

<sourcesrc="movie.mp4"type="video/mp4">

Yourbrowserdoesnotsupportthevideotag.

</video>

InternetExplorer

InternetExplorer8不支持video元素。在IE9中,将提供对使用MPEG4的video元素

的支持。

<video>标签的属性

属性值描述

autoplayautoplay如果出现该属性,则视频在就绪后马上播放。

controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。

heightpixels设置视频播放器的高度。

looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。

preloadpreload

如果出现该属性,则视频在页面加载时进行加载,并预备播放。

如果使用"autoplay",则忽略该属性。

srcurl要播放的视频的URL。

widthpixels设置视频播放器的宽度。

HTML5音频

HTML5提供了播放音频的标准。

Web上的音频

直到现在,仍然不存在一项旨在网页上播放音频的标准。

今天,大多数音频是通过插件(比如Flash)来播放的。然而,并非所有浏览器都拥有同样

的插件。

HTML5规定了一种通过audio元素来包含音频的标准方法。

audio元素能够播放声音文件或者音频流。

视频格式

当前,audio元素支持三种音频格式:

InternetExplorerFirefox3.5Opera10.5Chrome3.0Safari3.0

OggVorbisXXX

MP3XX

WavXXX

如何工作

如需在HTML5中播放音频,您所有需要的是:

<audiosrc="song.ogg"controls="controls">

</audio>

control属性供添加播放、暂停和音量控件。

<audio>与</audio>之间插入的内容是供不支持audio元素的浏览器显示的:

实例

<audiosrc="song.ogg"controls="controls">

Yourbrowserdoesnotsupporttheaudiotag.

</audio>

上面的例子使用一个Ogg文件,适用于Firefox、Opera以及Chrome浏览器(读者注:国产的很多浏览器也可以)。

要确保适用于Safari浏览器,音频文件必须是MP3或Wav类型。

audio元素允许多个source元素。source元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式:

实例

<audiocontrols="controls">

<sourcesrc="song.ogg"type="audio/ogg">

<sourcesrc="song.mp3"type="audio/mpeg">

Yourbrowserdoesnotsupporttheaudiotag.

</audio>

InternetExplorer

InternetExplorer8不支持audio元素。在IE9中,将提供对audio元素的支持。

<audio>标签的属性

属性值描述

autoplayautoplay如果出现该属性,则音频在就绪后马上播放。

controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。

preloadpreload

如果出现该属性,则音频在页面加载时进行加载,并预备播放。

如果使用"autoplay",则忽略该属性。

srcurl要播放的音频的URL。

HTML5Canvas

canvas元素用于在网页上绘制图形。

什么是Canvas?

HTML5的canvas元素使用JavaScript在网页上绘制图像。

画布是一个矩形区域,您可以控制其每一像素。

canvas拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

创建Canvas元素

向HTML5页面添加canvas元素。

规定元素的id、宽度和高度:

<canvasid="myCanvas"width="200"height="100"></canvas>

通过JavaScript来绘制

canvas元素本身是没有绘图能力的。所有的绘制工作必须在JavaScript内部完成:

<scripttype="text/javascript">

varc=document.getElementById("myCanvas");

varcxt=c.getContext("2d");

cxt.fillstyle="#FF0000";

cxt.fillRect(0,0,150,75);

</script>

JavaScript使用id来寻找canvas元素:

varc=document.getElementById("myCanvas");

然后,创建context对象:

varcxt=c.getContext("2d");

getContext("2d")对象是内建的HTML5对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

下面的两行代码绘制一个红色的矩形:

cxt.fillstyle="#FF0000";

cxt.fillRect(0,0,150,75);

fillStyle方法将其染成红色,fillRect方法规定了形状、位置和尺寸。

理解坐标

上面的fillRect方法拥有参数(0,0,150,75)。

意思是:在画布上绘制150x75的矩形,从左上角开始(0,0)。

如下图所示,画布的X和Y坐标用于在画布上对绘画进行定位。

实例:把鼠标悬停在矩形上可以看到坐标

更多Canvas实例

下面的在canvas元素上进行绘画的更多实例:

实例-线条

通过指定从何处开始,在何处结束,来绘制一条线:

JavaScript代码:

<scripttype="text/javascript">

varc=document.getElementById("myCanvas");

varcxt=c.getContext("2d");

cxt.moveTo(10,10);

cxt.lineTo(150,50);

cxt.lineTo(10,50);

cxt.stroke();

</script>

canvas元素:

<canvasid="myCanvas"width="200"height="100"style="border:1pxsolid#c3c3c3;">

Yourbrowserdoesnotsupportthecanvaselement.

</canvas>

亲自试一试

实例-圆形

通过规定尺寸、颜色和位置,来绘制一个圆:

JavaScript代码:

<scripttype="text/javascript">

varc=document.getElementById("myCanvas");

varcxt=c.getContext("2d");

cxt.fillstyle="#FF0000";

cxt.beginPath();

cxt.arc(70,18,15,0,Math.PI*2,true);

cxt.closePath();

cxt.fill();

</script>

canvas元素:

<canvasid="myCanvas"width="200"height="100"style="border:1pxsolid#c3c3c3;">

Yourbrowserdoesnotsupportthecanvaselement.

</canvas>

亲自试一试

实例-渐变

使用您指定的颜色来绘制渐变背景:

JavaScript代码:

<scripttype="text/javascript">

varc=document.getElementById("myCanvas");

varcxt=c.getContext("2d");

vargrd=cxt.createLinearGradient(0,0,175,50);

grd.addColorStop(0,"#FF0000");

grd.addColorStop(1,"#00FF00");

cxt.fillStyle=grd;

cxt.fillRect(0,0,175,50);

</script>

canvas元素:

<canvasid="myCanvas"width="200"height="100"style="border:1pxsolid#c3c3c3;">

Yourbrowserdoesnotsupportthecanvaselement.

</canvas>

亲自试一试

实例-图像

把一幅图像放置到画布上:

JavaScript代码:

<scripttype="text/javascript">

varc=document.getElementById("myCanvas");

varcxt=c.getContext("2d");

varimg=newImage()

img.src="flower.png"

cxt.drawImage(img,0,0);

</script>

canvas元素:

<canvasid="myCanvas"width="200"height="100"style="border:1pxsolid#c3c3c3;">

Yourbrowserdoesnotsupportthecanvaselement.

</canvas>

HTML5Web存储

在客户端存储数据

HTML5提供了两种在客户端存储数据的新方法:

localStorage-没有时间限制的数据存储

sessionStorage-针对一个session的数据存储

之前,这些都是由cookie完成的。但是cookie不适合大量数据的存储,因为它们由每个

对服务器的请求来传递,这使得cookie速度很慢而且效率也不高。

在HTML5中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在

不影响网站性能的情况下存储大量数据成为可能。

对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。

HTML5使用JavaScript来存储和访问数据。

localStorage方法

localStorage方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

如何创建和访问localStorage:

实例

<scripttype="text/javascript">

localStorage.lastname="Smith";

document.write(localStorage.lastname);

</script>

下面的例子对用户访问页面的次数进行计数:

实例

<scripttype="text/javascript">

if(localStorage.pagecount)

{

localStorage.pagecount=Number(localStorage.pagecount)+1;

}

else

{

localStorage.pagecount=1;

}

document.write("Visits"+localStorage.pagecount+"time(s).");

</script>

sessionStorage方法

sessionStorage方法针对一个session进行数据存储。当用户关闭浏览器窗口后,数据会被

删除。

如何创建并访问一个sessionStorage:

实例

<scripttype="text/javascript">

sessionStorage.lastname="Smith";

document.write(sessionStorage.lastname);

</script>

下面的例子对用户在当前session中访问页面的次数进行计数:

实例

<scripttype="text/javascript">

if(sessionStorage.pagecount)

{

sessionStorage.pagecount=Number(sessionStorage.pagecount)+1;

}

else

{

sessionStorage.pagecount=1;

}

document.write("Visits"+sessionStorage.pagecount+"time(s)thissession.");

</script>

HTML5Input类型

HTML5新的Input类型

HTML5拥有多个新的表单输入类型。这些新特性提供了更好的输入控制和验证。

本章全面介绍这些新的输入类型:

email

url

number

range

Datepickers(date,month,week,time,datetime,datetime-local)

search

color

浏览器支持

InputtypeIEFirefoxOperaChromeSafari

emailNoNo9.0NoNo

urlNoNo9.0NoNo

numberNoNo9.0NoNo

rangeNoNo9.04.04.0

DatepickersNoNo9.0NoNo

searchNoNoNoNoNo

colorNoNoNoNoNo

注释:Opera对新的输入类型的支持最好。不过您已经可以在所有主流的浏览器中使用它们

了。即使不被支持,仍然可以显示为常规的文本域。

Input类型-email

email类型用于应该包含e-mail地址的输入域。

在提交表单时,会自动验证email域的值。

实例

E-mail:<inputtype="email"name="user_email"/>

提示:iPhone中的Safari浏览器支持email输入类型,并通过改变触摸屏键盘来配合它(添

加@和.com选项)。

Input类型-url

url类型用于应该包含URL地址的输入域。

在提交表单时,会自动验证url域的值。

实例

Homepage:<inputtype="url"name="user_url"/>

提示:iPhone中的Safari浏览器支持url输入类型,并通过改变触摸屏键盘来配合它(添

加.com选项)。

Input类型-number

number类型用于应该包含数值的输入域。

您还能够设定对所接受的数字的限定:

实例

Points:<inputtype="number"name="points"min="1"max="10"/>

请使用下面的属性来规定对数字类型的限定:

属性值描述

maxnumber规定允许的最大值

minnumber规定允许的最小值

stepnumber规定合法的数字间隔(如果step="3",则合法的数是-3,0,3,6等)

valuenumber规定默认值

提示:iPhone中的Safari浏览器支持number输入类型,并通过改变触摸屏键盘来配合它

(显示数字)。

Input类型-range

range类型用于应该包含一定范围内数字值的输入域。

range类型显示为滑动条。

您还能够设定对所接受的数字的限定:

实例

<inputtype="range"name="points"min="1"max="10"/>

请使用下面的属性来规定对数字类型的限定:

属性值描述

maxnumber规定允许的最大值

minnumber规定允许的最小值

stepnumber规定合法的数字间隔(如果step="3",则合法的数是-3,0,3,6等)

valuenumber规定默认值

Input类型-DatePickers(数据检出器)

HTML5拥有多个可供选取日期和时间的新输入类型:

date-选取日、月、年

month-选取月、年

week-选取周和年

time-选取时间(小时和分钟)

datetime-选取时间、日、月、年(UTC时间)

datetime-local-选取时间、日、月、年(本地时间)

下面的例子允许您从日历中选取一个日期:

实例

Date:<inputtype="date"name="user_date"/>

输入类型"month":

输入类型"week":

输入类型"time":

输入类型"datetime":

输入类型"datetime-local":

Input类型-search

search类型用于搜索域,比如站点搜索或Google搜索。

search域显示为常规的文本域。

HTML5表单元素

HTML5的新的表单元素:

HTML5拥有若干涉及表单的元素和属性。

本章介绍以下新的表单元素:

datalist

keygen

output

浏览器支持

InputtypeIEFirefoxOperaChromeSafari

datalistNoNo9.5NoNo

keygenNoNo10.53.0No

outputNoNo9.5NoNo

datalist元素

datalist元素规定输入域的选项列表。

列表是通过datalist内的option元素创建的。

如需把datalist绑定到输入域,请用输入域的list属性引用datalist的id:

实例

Webpage:<inputtype="url"list="url_list"name="link"/>

<datalistid="url_list">

<optionlabel="W3School"value="http://www.W3School.com.cn"/>

<optionlabel="Google"value="http://www.google.com"/>

<optionlabel="Microsoft"value="http://www.microsoft.com"/>

</datalist>

提示:option元素永远都要设置value属性。

keygen元素

keygen元素的作用是提供一种验证用户的可靠方法。

keygen元素是密钥对生成器(key-pairgenerator)。当提交表单时,会生成两个键,一个是

私钥,一个公钥。

私钥(privatekey)存储于客户端,公钥(publickey)则被发送到服务器。公钥可用于之后

验证用户的客户端证书(clientcertificate)。

目前,浏览器对此元素的糟糕的支持度不足以使其成为一种有用的安全标准。

实例

<formaction="demo_form.asp"method="get">

Username:<inputtype="text"name="usr_name"/>

Encryption:<keygenname="security"/>

<inputtype="submit"/>

</form>

output元素

output元素用于不同类型的输出,比如计算或脚本输出:

实例

<outputid="result"onforminput="resCalc()"></output>

HTML5表单属性

HTML5的新的表单属性

本章讲解涉及<form>和<input>元素的新属性。

新的form属性:

•autocomplete

•novalidate

新的input属性:

•autocomplete

•autofocus

•form

•formoverrides(formaction,formenctype,formmethod,formnovalidate,formtarget)

•height和width

•list

•min,max和step

•multiple

•pattern(regexp)

•placeholder

•required

浏览器支持

InputtypeIEFirefoxOperaChromeSafari

autocomplete8.03.59.53.04.0

autofocusNoNo10.03.04.0

formNoNo9.5NoNo

formoverridesNoNo10.5NoNo

heightandwidth8.03.59.53.04.0

listNoNo9.5NoNo

min,maxandstepNoNo9.53.0No

multipleNo3.5No3.04.0

novalidateNoNoNoNoNo

patternNoNo9.53.0No

placeholderNoNoNo3.03.0

requiredNoNo9.53.0No

autocomplete属性

autocomplete属性规定form或input域应该拥有自动完成功能。

注释:autocomplete适用于<form>标签,以及以下类型的<input>标签:text,search,url,

telephone,email,password,datepickers,range以及color。

当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:

实例

<formaction="demo_form.asp"method="get"autocomplete="on">

Firstname:<inputtype="text"name="fname"/><br/>

Lastname:<inputtype="text"name="lname"/><br/>

E-mail:<inputtype="email"name="email"autocomplete="off"/><br/>

<inputtype="submit"/>

</form>

注释:在某些浏览器中,您可能需要启用自动完成功能,以使该属性生效。

autofocus属性

autofocus属性规定在页面加载时,域自动地获得焦点。

注释:autofocus属性适用于所有<input>标签的类型。

实例

Username:<inputtype="text"name="user_name"autofocus="autofocus"/>

form属性

form属性规定输入域所属的一个或多个表单。

注释:form属性适用于所有<input>标签的类型。

form属性必须引用所属表单的id:

实例

<formaction="demo_form.asp"method="get"id="user_form">

Firstname:<inputtype="text"name="fname"/>

<inputtype="submit"/>

</form>

Lastname:<inputtype="text"name="lname"form="user_form"/>

注释:如需引用一个以上的表单,请使用空格分隔的列表。

表单重写属性

表单重写属性(formoverrideattributes)允许您重写form元素的某些属性设定。

表单重写属性有:

formaction-重写表单的action属性

formenctype-重写表单的enctype属性

formmethod-重写表单的method属性

formnovalidate-重写表单的novalidate属性

formtarget-重写表单的target属性

注释:表单重写属性适用于以下类型的<input>标签:submit和image。

实例

<formaction="demo_form.asp"method="get"id="user_form">

E-mail:<inputtype="email"name="userid"/><br/>

<inputtype="submit"value="Submit"/>

<br/>

<inputtype="submit"formaction="demo_admin.asp"value="Submitasadmin"/>

<br/>

<inputtype="submit"formnovalidate="true"value="Submitwithoutvalidation"/>

<br/>

</form>

注释:这些属性对于创建不同的提交按钮很有帮助。

height和width属性

height和width属性规定用于image类型的input标签的图像高度和宽度。

注释:height和width属性只适用于image类型的<input>标签。

实例

<inputtype="image"src="img_submit.gif"width="99"height="99"/>

list属性

list属性规定输入域的datalist。datalist是输入域的选项列表。

注释:list属性适用于以下类型的<input>标签:text,search,url,telephone,email,datepickers,

number,range以及color。

实例

Webpage:<inputtype="url"list="url_list"name="link"/>

<datalistid="url_list">

<optionlabel="W3Schools"value="http://www.w3school.com.cn"/>

<optionlabel="Google"value="http://www.google.com"/>

<optionlabel="Microsoft"value="http://www.microsoft.com"/>

</datalist>

min、max和step属性

min、max和step属性用于为包含数字或日期的input类型规定限定(约束)。

max属性规定输入域所允许的最大值。

min属性规定输入域所允许的最小值。

step属性为输入域规定合法的数字间隔(如果step="3",则合法的数是-3,0,3,6等)。

注释:min、max和step属性适用于以下类型的<input>标签:datepickers、number以及

range。

下面的例子显示一个数字域,该域接受介于0到10之间的值,且步进为3(即合法的值

为0、3、6和9):

实例

Points:<inputtype="number"name="points"min="0"max="10"step="3"/>

multiple属性

multiple属性规定输入域中可选择多个值。

注释:multiple属性适用于以下类型的<input>标签:email和file。

实例

Selectimages:<inputtype="file"name="img"multiple="multiple"/>

novalidate属性

novalidate属性规定在提交表单时不应该验证form或input域。

注释:novalidate属性适用于<form>以及以下类型的<input>标签:text,search,url,

telephone,email,password,datepickers,range以及color.

实例

<formaction="demo_form.asp"method="get"novalidate="true">

E-mail:<inputtype="email"name="user_email"/>

<inputtype="submit"/>

</form>

pattern属性

pattern属性规定用于验证input域的模式(pattern)。

模式(pattern)是正则表达式。您可以在我们的JavaScript教程中学习到有关正则表达式

的内容。

注释:pattern属性适用于以下类型的<input>标签:text,search,url,telephone,email以及

password。

下面的例子显示了一个只能包含三个字母的文本域(不含数字及特殊字符):

实例

Countrycode:<inputtype="text"name="country_code"

pattern="[A-z]{3}"title="Threelettercountrycode"/>

placeholder属性

placeholder属性提供一种提示(hint),描述输入域所期待的值。

注释:placeholder属性适用于以下类型的<input>标签:text,search,url,telephone,email以

及password。

提示(hint)会在输入域为空时显示出现,会在输入域获得焦点时消失:

实例

<inputtype="search"name="user_search"placeholder="SearchW3School"/>

required属性

required属性规定必须在提交之前填写输入域(不能为空)。

注释:required属性适用于以下类型的<input>标签:text,search,url,telephone,email,

password,datepickers,number,checkbox,radio以及file。

实例

Name:<inputtype="text"name="usr_name"required="required"/>

HTML5参考手册

W3C在1月22日发布了最新的HTML5工作草案。HTML5工作组包括AOL,Apple,

Google,IBM,Microsoft,Mozilla,Nokia,Opera以及数百个其他的开发商。HTML5中的一些

新特性:嵌入音频、视频、图片的函数、客户端数据存储,以及交互式文档。其他特性包

括新的页面元素,比如<header>,<section>,<footer>,以及<figure>。

通过制定如何处理所有HTML元素以及如何从错误中恢复的精确规则,HTML5改进了互

操作性,并减少了开发成本。

按字母顺序排列

•4:指示在HTML4.01中是否定义了该元素

•5:指示在HTML5中是否定义了该元素

标签描述45

<!--...-->定义注释。45

<!DOCTYPE>定义文档类型。45

<a>定义超链接。45

<abbr>定义缩写。45

<acronym>HTML5中不支持。定义首字母缩写。4

<address>定义地址元素。45

<applet>HTML5中不支持。定义applet。4

<area>定义图像映射中的区域。45

<article>定义article。5

<aside>定义页面内容之外的内容。5

<audio>定义声音内容。5

<b>定义粗体文本。45

<base>定义页面中所有链接的基准URL。45

<basefont>HTML5中不支持。请使用CSS代替。4

<bdo>定义文本显示的方向。45

<big>HTML5中不支持。定义大号文本。4

<blockquote>定义长的引用。45

<body>定义body元素。45

<br>插入换行符。45

<button>定义按钮。45

<canvas>定义图形。5

<caption>定义表格标题。45

<center>HTML5中不支持。定义居中的文本。4

<cite>定义引用。45

<code>定义计算机代码文本。45

<col>定义表格列的属性。45

<colgroup>定义表格列的分组。45

<command>定义命令按钮。5

<datalist>定义下拉列表。5

<dd>定义定义的描述。45

<del>定义删除文本。45

<details>定义元素的细节。5

<dfn>定义定义项目。45

<dir>HTML5中不支持。定义目录列表。4

<div>定义文档中的一个部分。45

<dl>定义定义列表。45

<dt>定义定义的项目。45

<em>定义强调文本。45

<embed>定义外部交互内容或插件。5

<fieldset>定义fieldset。45

<figcaption>定义figure元素的标题。5

<figure>定义媒介内容的分组,以及它们的标题。5

<font>HTML5中不支持。4

<footer>定义section或page的页脚。5

<form>定义表单。45

<frame>HTML5中不支持。定义子窗口(框架)。4

<frameset>HTML5中不支持。定义框架的集。4

<h1>to<h6>定义标题1到标题6。45

<head>定义关于文档的信息。45

<header>定义section或page的页眉。5

<hgroup>定义有关文档中的section的信息。5

<hr>定义水平线。45

<html>定义html文档。45

<i>定义斜体文本。45

<iframe>定义行内的子窗口(框架)。45

<img>定义图像。45

<input>定义输入域。45

<ins>定义插入文本。45

<keygen>定义生成密钥。5

<isindex>HTML5中不支持。定义单行的输入域。4

<kbd>定义键盘文本。45

<label>定义表单控件的标注。45

<legend>定义fieldset中的标题。45

<li>定义列表的项目。45

<link>定义资源引用。45

<map>定义图像映射。45

<mark>定义有记号的文本。5

<menu>定义菜单列表。45

<meta>定义元信息。45

<meter>定义预定义范围内的度量。5

<nav>定义导航链接。5

<noframes>HTML5中不支持。定义noframe部分。4

<noscript>定义noscript部分。45

<object>定义嵌入对象。45

<ol>定义有序列表。45

<optgroup>定义选项组。45

<option>定义下拉列表中的选项。45

<output>定义输出的一些类型。5

<p>定义段落。45

<param>为对象定义参数。45

<pre>定义预格式化文本。45

<progress>定义任何类型的任务的进度。5

<q>定义短的引用。45

<rp>定义若浏览器不支持ruby元素显示的内容。5

<rt>定义ruby注释的解释。5

<ruby>定义ruby注释。5

<s>HTML5中不支持。定义加删除线的文本。4

<samp>定义样本计算机代码。45

<script>定义脚本。45

<section>定义section。5

<select>定义可选列表。45

<small>定义小号文本。45

<source>定义媒介源。5

<span>定义文档中的section。45

<strike>HTML5中不支持。定义加删除线的文本。4

<strong>定义强调文本。45

<style>定义样式定义。45

<sub>定义下标文本。45

<summary>定义details元素的标题。5

<sup>定义上标文本。45

<table>定义表格。45

<tbody>定义表格的主体。45

<td>定义表格单元。45

<textarea>定义textarea。45

<tfoot>定义表格的脚注。45

<th>定义表头。45

<thead>定义表头。45

<time>定义日期/时间。5

<title>定义文档的标题。45

<tr>定义表格行。45

<tt>HTML5中不支持。定义打字机文本。4

<u>HTML5中不支持。定义下划线文本。4

<ul>定义无序列表。45

<var>定义变量。45

<video>定义视频。5

<xmp>HTML5中不支持。定义预格式文本。4

HTML5标准属性

所有HTML5标签均支持下面列出的属性,仅有少数例外。

HTML5标准属性

NEW:HTML5中新的标准属性。

注释:HTML4.01不再支持accesskey属性:

属性值描述

accesskeycharacter规定访问元素的键盘快捷键

classclassname规定元素的类名(用于规定样式表中的类)。

contenteditabl

e

•true

•false规定是否允许用户编辑内容。

contextmenumenu_id规定元素的上下文菜单。

data-yourvaluevalue

创作者定义的属性。

HTML文档的创作者可以定义他们自己的属性。

必须以"data-"开头。

dir

•ltr

•rtl规定元素中内容的文本方向。

draggable

•true

•false

•auto规定是否允许用户拖动元素。

hiddenhidden规定该元素是无关的。被隐藏的元素不会显示。

idid规定元素的唯一ID。

item

•empty

•url用于组合元素。

itemprop

•url

•group

value用于组合项目。

langlanguage_code规定元素中内容的语言代码。语言代码参考手册。

spellcheck

•true

•false规定是否必须对元素进行拼写或语法检查。

stylestyle_definition规定元素的行内样式。

subjectid规定元素对应的项目。

tabindexnumber规定元素的tab键控制次序。

titletext规定有关元素的额外信息。

HTML5事件属性

标准事件属性

HTML4增加了通过事件触发浏览器中行为的能力,比如当用户点击某个元素时启动一段

JavaScript。

下面的表格列出了可插入HTML5元素中以定义事件行为的标准事件属性。

Window事件属性

window对象触发的事件。

适用于<body>标签:

属性值描述

onafterprintscript在打印文档之后运行脚本

onbeforeprintscript在文档打印之前运行脚本

onbeforeonloadscript在文档加载之前运行脚本

onblurscript当窗口失去焦点时运行脚本

onerrorscript当错误发生时运行脚本

onfocusscript当窗口获得焦点时运行脚本

onhaschangescript当文档改变时运行脚本

onloadscript当文档加载时运行脚本

onmessagescript当触发消息时运行脚本

onofflinescript当文档离线时运行脚本

ononlinescript当文档上线时运行脚本

onpagehidescript当窗口隐藏时运行脚本

onpageshowscript当窗口可见时运行脚本

onpopstatescript当窗口历史记录改变时运行脚本

onredoscript当文档执行再执行操作(redo)时运行脚本

onresizescript当调整窗口大小时运行脚本

onstoragescript当文档加载加载时运行脚本

onundoscript当文档执行撤销操作时运行脚本

onunloadscript当用户离开文档时运行脚本

表单事件

由HTML表单内部的动作触发的事件。

适用于所有HTML5元素,不过最常用于表单元素中:

属性值描述

onblurscript当元素失去焦点时运行脚本

onchangescript当元素改变时运行脚本

oncontextmenuscript当触发上下文菜单时运行脚本

onfocusscript当元素获得焦点时运行脚本

onformchangescript当表单改变时运行脚本

onforminputscript当表单获得用户输入时运行脚本

oninputscript当元素获得用户输入时运行脚本

oninvalidscript当元素无效时运行脚本

onresetscript当表单重置时运行脚本。HTML5不支持。

onselectscript当选取元素时运行脚本

onsubmitscript当提交表单时运行脚本

键盘事件

由键盘触发的事件。

适用于所有HTML5元素:

属性值描述

onkeydownscript当按下按键时运行脚本

onkeypressscript当按下并松开按键时运行脚本

onkeyupscript当松开按键时运行脚本

鼠标事件

由鼠标货相似的用户动作触发的事件。

适用于所有HTML5元素:

属性值描述

onclickscript当单击鼠标时运行脚本

ondblclickscript当双击鼠标时运行脚本

ondragscript当拖动元素时运行脚本

ondragendscript当拖动操作结束时运行脚本

ondragenterscript当元素被拖动至有效的拖放目标时运行脚本

ondragleavescript当元素离开有效拖放目标时运行脚本

ondragoverscript当元素被拖动至有效拖放目标上方时运行脚本

ondragstartscript当拖动操作开始时运行脚本

ondropscript当被拖动元素正在被拖放时运行脚本

onmousedownscript当按下鼠标按钮时运行脚本

onmousemovescript当鼠标指针移动时运行脚本

onmouseoutscript当鼠标指针移出元素时运行脚本

onmouseoverscript当鼠标指针移至元素之上时运行脚本

onmouseupscript当松开鼠标按钮时运行脚本

onmousewheelscript当转动鼠标滚轮时运行脚本

onscrollscript当滚动元素滚动元素的滚动条时运行脚本

媒介事件

由视频、图像以及音频等媒介触发的事件。

适用于所有HTML5元素,不过在媒介元素(诸如audio、embed、img、object以及video)

中最常用:

属性值描述

Onabortscript当发生中指事件时运行脚本

Oncanplayscript当媒介能够开始播放但可能因缓冲而需要停止时运行脚本

Oncanplaythroughscript当媒介能够无需因缓冲而停止即可播放至结尾时运行脚本

Ondurationchangescript当媒介长度改变时运行脚本

Onemptiedscript当媒介资源元素突然为空时(网络错误、加载错误等)运行脚本

Onendedscript当媒介已抵达结尾时运行脚本

Onerrorscript当在元素加载期间发生错误时运行脚本

Onloadeddatascript当加载媒介数据时运行脚本

Onloadedmetadatascript当媒介元素的持续时间以及其他媒介数据已加载时运行脚本

Onloadstartscript当浏览器开始加载媒介数据时运行脚本

Onpausescript当媒介数据暂停时运行脚本

Onplayscript当媒介数据将要开始播放时运行脚本

Onplayingscript当媒介数据已开始播放时运行脚本

Onprogressscript当浏览器正在取媒介数据时运行脚本

Onratechangescript当媒介数据的播放速率改变时运行脚本

onreadystatechangescript当就绪状态(ready-state)改变时运行脚本

Onseekedscript当媒介元素的定位属性[1]不再为真且定位已结束时运行脚本

Onseekingscript当媒介元素的定位属性为真且定位已开始时运行脚本

Onstalledscript当取回媒介数据过程中(延迟)存在错误时运行脚本

Onsuspendscript当浏览器已在取媒介数据但在取回整个媒介文件之前停止时运行脚本

Ontimeupdatescript当媒介改变其播放位置时运行脚本

Onvolumechangescript当媒介改变音量亦或当音量被设置为静音时运行脚本

Onwaitingscript当媒介已停止播放但打算继续播放时运行脚本

相关推荐