一、HTML5简介
HTML5是根据2014年由万维网联盟(W3C)完成标准制定的,他的设计目的主要是为了在移动设备上支持多媒体。
HTML5新特性:
- 绘画canvas元素
- 用于媒体回放video和audio元素
- 对于本地离线储存的更好支持
- 新的特殊内容元素 article、footer、header、nav、section
- 新的表单控件 calendar、date、time、email、url、search
HTML5改进:
- 新元素
- 新属性
- 完全支持css3
- Video 和 Audio
- 2D/3D制图
- 本地储存
- 本地 SQL 数据
- Web 应用
HTML5多媒体
- video
- audio
HTML5图形
使用 HTML5 你可以简单的绘制图形:
- 使用
- 使用内联 SVG。
- 使用 CSS3 2D 转换、CSS3 3D 转换。
HTML5 使用 CSS3
- 新选择器
- 新属性
- 动画
- 2D/3D 转换
- 圆角
- 阴影效果
- 可下载的字体
语义元素
HTML5 添加了很多语义元素如下所示:
标签 描述
已移除元素
以下的 HTML 4.01 元素在HTML5中已经被删除:
二、HTML5浏览器支持
将 HTML5 元素定义为块元素
HTML5 定了 8 个新的 HTML 语义(semantic) 元素。所有这些元素都是 块级 元素。
为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 block:
实例
header, section, footer, aside, nav, main, article, figure {
display: block;
}
为 HTML 添加新元素
你可以为 HTML 添加新的元素。
该实例向 HTML 添加的新的元素,并为该元素定义样式,元素名为
实例
为 HTML 添加新元素
我的第一个标题
我的第一个段落。
我的第一个新元素
Internet Explorer 浏览器问题
你可以使用以上的方法来为 IE 浏览器添加 HTML5 元素,但是:
|Internet Explorer 8 及更早 IE 版本的浏览器不支持以上的方式。
我们可以使用 Sjoerd Visscher 创建的 "HTML5 Enabling JavaScript", "** shiv**" 来解决该问题:
以上代码是一个注释,作用是在 IE 浏览器的版本小于 IE9 时将读取 html5.js 文件,并解析它。
注意:国内用户请使用本站静态资源库(Google 资源库在国内不稳定):
针对IE浏览器html5shiv 是比较好的解决方案。html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。
完美的 Shiv 解决方案
实例
渲染 HTML5
我的第一篇文章
三、HTML5新元素
| 标签 | 描述 |
新多媒体元素
| 标签 | 描述 |
新表单元素
| 标签 | 描述 |
-
| 规定用于表单的密钥对生成器字段。 |
新的语义和结构元素
HTML5提供了新的元素来创建更好的页面结构:
| 标签 | 描述 |
-
| 定义页面独立的内容区域。 | - | 允许您设置一段文本,使其脱离其父元素的文本方向设置。 |
-
| 定义命令按钮,比如单选按钮、复选框或按钮 | - | 用于描述文档或文档某个部分的细节 |
-
| 标签包含 details 元素的标题 | -
| 定义 -
| 定义了文档的头部区域 | - | 定义带有记号的文本。 |
-
| 定义度量衡。仅用于已知最大和最小值的度量。 | - | 定义 ruby 注释(中文注音或字符)。 |
-
| 定义文档中的节(section、区段)。 | -
| 规定在文本中的何处适合添加换行符。 |
已移除的元素
以下的 HTML 4.01 元素在HTML5中已经被删除:
四、Canvas
什么是 canvas?
HTML5
创建一个画布
使用 JavaScript 来绘制图像
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:
实例
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
实例解析:
首先,找到
var c=document.getElementById("myCanvas");
然后,创建 context 对象:
var ctx=c.getContext("2d");
- getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
下面的两行代码绘制一个红色的矩形:
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是#000000(黑色)。
fillRect(x,y,width,height) 方法定义了矩形当前的填充方式。
Canvas 坐标
canvas 是一个二维网格。
canvas 的左上角坐标为 (0,0)
上面的 fillRect 方法拥有参数 (0,0,150,75)。
意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。
坐标实例
画布的 X 和 Y 坐标用于在画布上对绘画进行定位.
Canvas - 路径
在Canvas上画线,我们将使用以下两种方法:
- moveTo(x,y) 定义线条开始坐标
- lineTo(x,y) 定义线条结束坐标
绘制线条我们必须使用到 "ink" 的方法,就像stroke().
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();
在canvas中绘制圆形, 我们将使用以下方法:
arc(x,y,r,start,stop)
实际上我们在绘制圆形时使用了 "ink" 的方法, 比如 stroke() 或者 fill().
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();
Canvas - 文本
使用 canvas 绘制文本,重要的属性和方法如下:
- font - 定义字体
- fillText(text,x,y) - 在 canvas 上绘制实心的文本
- strokeText(text,x,y) - 在 canvas 上绘制空心的文本
使用 fillText():
实例
使用 "Arial" 字体在画布上绘制一个高 30px 的文字(实心):
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.fillText("Hello World",10,50);
使用 strokeText():
实例
使用 "Arial" 字体在画布上绘制一个高 30px 的文字(空心):
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.strokeText("Hello World",10,50);
Canvas - 渐变
渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。
以下有两种不同的方式来设置Canvas渐变:
createLinearGradient(x,y,x1,y1) - 创建线条渐变
createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
当我们使用渐变对象,必须使用两种或两种以上的停止颜色。
addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.
使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。
使用 createLinearGradient():
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// 创建渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
使用 createRadialGradient():
实例
创建一个径向/圆渐变。使用渐变填充矩形:
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// 创建渐变
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
Canvas - 图像
把一幅图像放置到画布上, 使用以下方法:
drawImage(image,x,y)
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);
五、HTML5 内联 SVG
什么是SVG?
- SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
- SVG 用于定义用于网络的基于矢量的图形
- SVG 使用 XML 格式定义图形
- SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
- SVG 是万维网联盟的标准
SVG优势
与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:
- SVG 图像可通过文本编辑器来创建和修改
- SVG 图像可被搜索、索引、脚本化或压缩
- SVG 是可伸缩的
- SVG 图像可在任何的分辨率下被高质量地打印
- SVG 可在图像质量不下降的情况下被放大
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持内联SVG。
SVG 与 Canvas两者间的区别
- SVG 是一种使用 XML 描述 2D 图形的语言。
- Canvas 通过 JavaScript 来绘制 2D 图形。
- SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
Canvas 与 SVG 的比较
下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas | SVG
- 依赖分辨率 | 不依赖分辨率
- 不支持事件处理器 | 支持事件处理器
- 弱的文本渲染能力 | 最适合带有大型渲染区域的应用程序(比如谷歌地图)
- 能够以 .png 或 .jpg 格式保存结果图像 | 复杂度高会减慢渲染速度(任何过度使 用 DOM 的应用都不快)
- 最适合图像密集型的游戏,其中的许多对象会被频繁重绘 | 不适合游戏应用
六、HTML5 拖放(Drag 和 Drop)
HTML5 拖放实例
下面的例子是一个简单的拖放实例:
实例
菜鸟教程(runoob.com)
拖动 RUNOOB.COM 图片到矩形框中:
设置元素为可拖放
首先,为了使元素可拖动,把 draggable 属性设置为 true :
拖动什么 - ondragstart 和 setData()
然后,规定当元素被拖动时,会发生什么。
在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。
dataTransfer.setData() 方法设置被拖数据的数据类型和值:
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
Text 是一个 DOMString 表示要添加到 drag object 的拖动数据的类型。值是可拖动元素的 id ("drag1")。
放到何处 - ondragover
ondragover 事件规定在何处放置被拖动的数据。
默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。
这要通过调用 ondragover 事件的 event.preventDefault() 方法:
event.preventDefault()
进行放置 - ondrop
当放置被拖数据时,会发生 drop 事件。
在上面的例子中,ondrop 属性调用了一个函数,drop(event):
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
代码解释:
- 调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)
- 通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在setData() 方法中设置为相同类型的任何数据。
- 被拖数据是被拖元素的 id ("drag1")
- 把被拖元素追加到放置元素(目标元素)中
七、HTML5 Geolocation(地理定位)
Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位)
注意: Geolocation(地理定位)对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。
HTML5 - 使用地理定位
请使用 getCurrentPosition() 方法来获得用户的位置。
下例是一个简单的地理定位实例,可返回用户位置的经度和纬度:
实例
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else
{
x.innerHTML="该浏览器不支持获取地理位置。";
}
}
function showPosition(position)
{
x.innerHTML="纬度: " + position.coords.latitude +
"
经度: " + position.coords.longitude;
}
实例解析:
- 检测是否支持地理定位
- 如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
- 如果 getCurrentPosition() 运行成功,则向参数showPosition中规定的函数返回一个 coordinates 对象
- showPosition() 函数获得并显示经度和纬度
处理错误和拒绝
getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数:
实例
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML="用户拒绝对获取地理位置的请求。"
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="位置信息是不可用的。"
break;
case error.TIMEOUT:
x.innerHTML="请求用户地理位置超时。"
break;
case error.UNKNOWN_ERROR:
x.innerHTML="未知错误。"
break;
}
}
错误代码:
- Permission denied - 用户不允许地理定位
- Position unavailable - 无法获取当前位置
- Timeout - 操作超时
在地图中显示结果
如需在地图中显示结果,您需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图:
实例
function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="";
}
给定位置的信息
本页演示的是如何在地图上显示用户的位置。不过,地理定位对于给定位置的信息同样很有用处。
可用于:
- 更新本地信息
- 显示用户周围的兴趣点
- 交互式车载导航系统 (GPS)
getCurrentPosition() 方法 - 返回数据
T若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。
属性 描述
- coords.latitude 十进制数的纬度
- coords.longitude 十进制数的经度
- coords.accuracy 位置精度
- coords.altitude 海拔,海平面以上以米计
- coords.altitudeAccuracy 位置的海拔精度
- coords.heading 方向,从正北开始以度计
- coords.speed 速度,以米/每秒计
- timestamp 响应的日期/时间
Geolocation 对象 - 其他有趣的方法
watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone):
实例
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.watchPosition(showPosition);
}
else
{
x.innerHTML="该浏览器不支持获取地理位置。";
}
}
function showPosition(position)
{
x.innerHTML="纬度: " + position.coords.latitude +
"
经度: " + position.coords.longitude;
}
七、HTML5 Video(视频)
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持
HTML5 (视频)- 如何工作
如需在 HTML5 中显示视频,您所有需要的是:
实例
与 标签之间插入的内容是提供给不支持 video 元素的浏览器显示的。元素支持多个
视频格式与浏览器的支持
当前,
浏览器 | MP4 | WebM | Ogg
Internet Explorer | YES | NO | NO
Chrome | YES | YES | YES
Firefox | YES | YES | YES
Safari | YES | NO | NO
Opera | YES (从 Opera 25 起) | YES | YES
- MP4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
- WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件
- Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
视频格式
格式 | MIME-type
MP4 | video/mp4
WebM | video/webm
Ogg | video/ogg
HTML5 - 使用 DOM 进行控制
HTML5
HTML5 Video 标签
| 标签 | 描述 |
-
| 定义一个视频 | -
| 定义多种媒体资源,比如 和 |
九、HTML5 Audio(音频)
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 都支持 元素.
HTML5 Audio - 如何工作
如需在 HTML5 中播放音频,你需要使用以下代码:
实例
您的浏览器不支持 audio 元素。
尝试一下 »
control 属性供添加播放、暂停和音量控件。
在
音频格式的MIME类型
Format MIME-type
- MP3 audio/mpeg
- Ogg audio/ogg
- Wav audio/wav
HTML5 Audio 标签
| 标签 | 描述 |
-
| 定义了声音内容 | -
| 规定了多媒体资源, 可以是多个,在 与 标签中使用 |
十、HTML5 新的 Input 类型
HTML5 拥有多个新的表单输入类型。这些新特性提供了更好的输入控制和验证。
本章全面介绍这些新的输入类型:
- color
- date
- datetime
- datetime-local
- month
- number
- range
- search
- tel
- time
- url
- week
注意:并不是所有的主流浏览器都支持新的input类型,不过您已经可以在所有主流的浏览器中使用它们了。即使不被支持,仍然可以显示为常规的文本域。
Input 类型: color
color 类型用在input字段主要用于选取颜色,如下所示:
实例
从拾色器中选择一个颜色:
Input 类型: date
date 类型允许你从一个日期选择器选择一个日期。
实例
定义一个时间控制器:
生日:
Input 类型: datetime
datetime 类型允许你选择一个日期(UTC 时间)。
实例
定义一个日期和时间控制器(本地时间):
生日 (日期和时间):
Input 类型: datetime-local
datetime-local 类型允许你选择一个日期和时间 (无时区).
实例
定义一个日期和时间 (无时区):
生日 (日期和时间):
Input 类型: email
email 类型用于应该包含 e-mail 地址的输入域。
实例
在提交表单时,会自动验证 email 域的值是否合法有效:
E-mail:
Input 类型: month
month 类型允许你选择一个月份。
实例
定义月与年 (无时区):
生日 (月和年):
Input 类型: number
number 类型用于应该包含数值的输入域。
您还能够设定对所接受的数字的限定:
实例
定义一个数值输入域(限定):
数量 ( 1 到 5 之间 ):
使用下面的属性来规定对数字类型的限定:
属性 描述
- disabled 规定输入字段是禁用的
- max 规定允许的最大值
- maxlength 规定输入字段的最大字符长度
- min 规定允许的最小值
- pattern 规定用于验证输入字段的模式
- readonly 规定输入字段的值无法修改
- required 规定输入字段的值是必需的
- size 规定输入字段中的可见字符数
- step 规定输入字段的合法数字间隔
- value 规定输入字段的默认值
Input 类型: range
range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。
实例
定义一个不需要非常精确的数值(类似于滑块控制):
请使用下面的属性来规定对数字类型的限定:
- max - 规定允许的最大值
- min - 规定允许的最小值
- step - 规定合法的数字间隔
- value - 规定默认值
Input 类型: search
search 类型用于搜索域,比如站点搜索或 Google 搜索。
实例
定义一个搜索字段 (类似站点搜索或者Google搜索):
Search Google:
Input 类型: tel
实例
定义输入电话号码字段:
电话号码:
Input 类型: time
time 类型允许你选择一个时间。
实例
定义可输入时间控制器(无时区):
选择时间:
Input 类型: url
url 类型用于应该包含 URL 地址的输入域。
在提交表单时,会自动验证 url 域的值。
实例
定义输入URL字段:
添加您的主页:
Input 类型: week
week 类型允许你选择周和年。
实例
定义周和年 (无时区):
选择周:
十一、HTML5 表单元素
HTML5 新的表单元素
HTML5 有以下新的表单元素:
HTML5
元素使用预定义值:
HTML5 元素
当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
实例
带有keygen字段的表单:
HTML5
HTML5 新表单元素
| 标签 | 描述 |
-
| 标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。 | -
| 标签规定用于表单的密钥对生成器字段。 | -
| 标签定义不同类型的输出,比如脚本的输出。 |
十二、HTML5 表单属性
HTML5 的
novalidate 属性是一个 boolean(布尔) 属性.
novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
实例
无需验证提交的表单数据
E-mail:
autofocus 属性
autofocus 属性是一个 boolean 属性.
autofocus 属性规定在页面加载时,域自动地获得焦点。
实例
让 "First name" input 输入域在页面载入时自动聚焦:
First name:
form 属性
form 属性规定输入域所属的一个或多个表单。
提示:如需引用一个以上的表单,请使用空格分隔的列表。
实例
位于form表单外的 input 字段引用了 HTML form (该 input 表单仍然属于form表单的一部分):
First name:
Last name:
formaction 属性
The formaction 属性用于描述表单提交的URL地址.
The formaction 属性会覆盖
注意: The formaction 属性用于 type="submit" 和 type="image".
实例
以下HTMLform表单包含了两个不同地址的提交按钮:
First name:
Last name:
formenctype 属性
formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
formenctype 属性覆盖 form 元素的 enctype 属性。
主要: 该属性与 type="submit" 和 type="image" 配合使用。
实例
第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据:
First name:
formmethod 属性
formmethod 属性定义了表单提交的方式。
formmethod 属性覆盖了
注意: 该属性可以与 type="submit" 和 type="image" 配合使用。
实例
重新定义表单提交方式实例:
First name:
Last name:
formnovalidate 属性
novalidate 属性是一个 boolean 属性.
novalidate属性描述了 元素在表单提交时无需被验证。
formnovalidate 属性会覆盖
注意: formnovalidate 属性与type="submit一起使用
实例
两个提交按钮的表单(使用与不适用验证 ):
E-mail:
formtarget 属性
formtarget 属性指定一个名称或一个关键字来指明表单提交数据接收后的展示。
The formtarget 属性覆盖
注意: formtarget 属性与type="submit" 和 type="image"配合使用.
实例
两个提交按钮的表单, 在不同窗口中显示:
First name:
Last name:
height 和 width 属性
height 和 width 属性规定用于 image 类型的 标签的图像高度和宽度。
注意: height 和 width 属性只适用于 image 类型的 标签。
提示:图像通常会同时指定高度和宽度属性。如果图像设置高度和宽度,图像所需的空间 在加载页时会被保留。如果没有这些属性, 浏览器不知道图像的大小,并不能预留 适当的空间。图片在加载过程中会使页面布局效果改变 (尽管图片已加载)。
实例
定义了一个图像提交按钮, 使用了 height 和 width 属性:
list 属性
list 属性规定输入域的 datalist。datalist 是输入域的选项列表。
实例
在
min 和 max 属性
min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。
注意: min、max 和 step 属性适用于以下类型的 标签:date pickers、number 以及 range。
实例
元素最小值与最大值设置:
Enter a date before 1980-01-01:
Enter a date after 2000-01-01:
Quantity (between 1 and 5):
multiple 属性
multiple 属性是一个 boolean 属性.
multiple 属性规定 元素中可选择多个值。
注意: multiple 属性适用于以下类型的 标签:email 和 file:
实例
上传多个文件:
Select images:
pattern 属性
pattern 属性描述了一个正则表达式用于验证 元素的值。
注意:pattern 属性适用于以下类型的 标签: text, search, url, tel, email, 和 password.
提示: 是用来全局 title 属性描述了模式.
提示: 您可以在我们的 JavaScript 教程中学习到有关正则表达式的内容
实例
下面的例子显示了一个只能包含三个字母的文本域(不含数字及特殊字符):
Country code:
placeholder 属性
placeholder 属性提供一种提示(hint),描述输入域所期待的值。
简短的提示在用户输入值前会显示在输入域上。
注意: placeholder 属性适用于以下类型的 标签:text, search, url, telephone, email 以及 password。
实例
input 字段提示文本t:
required 属性
required 属性是一个 boolean 属性.
required 属性规定必须在提交之前填写输入域(不能为空)。
注意:required 属性适用于以下类型的 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
实例
不能为空的input字段:
Username:
step 属性
step 属性为输入域规定合法的数字间隔。
如果 step="3",则合法的数是 -3,0,3,6 等
提示: step 属性可以与 max 和 min 属性创建一个区域值.
注意: step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week.
实例
规定input step步长为3:
十三、HTML5 语义元素
HTML5中新的语义元素
许多现有网站都包含以下HTML代码: