新元素
新的语义和结构元素
标签 |
描述 |
article |
页面独立的内容区域 |
aside |
侧边栏 |
bdi |
一段文本、使其脱离父元素的文本方向位置 |
command |
命令按钮,如单选/复选按钮 |
details |
描述文档 |
dialog |
对话框 |
summary |
标签包含details元素的标题 |
figure |
规定独立的流内容(图片、图表、照片、代码等) |
figcaption |
定义figure元素的标题 |
footer |
section或document的页脚 |
header |
文档的头部内容 |
mark |
带有记号的文本 |
meter |
定义度量衡 |
nav |
导航链接的部分 |
progress |
任务的进度 |
ruby |
定义rudy注释 |
rt |
字符的解释或发音 |
rp |
在ruby注释中使用,定义不支持ruby的浏览器所显示的内容 |
section |
定义文档中的节 |
time |
日期或时间 |
wbr |
文本中何处适合添加换行符 |
canvas |
标签定义图形,比如图表和其他图像 |
新多媒体元素
标签 |
描述 |
audio |
音频 |
video |
视频 |
source |
audio、video多媒体资源 |
embed |
嵌入的内容,如插件 |
track |
为audio和video的媒介规定外部文本轨道 |
新表单元素
标签 |
描述 |
datalist |
与input配合,定义input可能的值 |
keygen |
表单的密钥对生成器字段 |
output |
定义不同类型的输出 |
移除的元素
以下的HTML4.01元素在HTML5已经被删除
acronym |
applet |
basefont |
big |
center |
dir |
font |
frame |
frameset |
noframes |
strike |
tt |
视频-video
属性 |
值 |
描述 |
width |
px |
宽度 |
height |
px |
高度 |
src |
url |
视频地址 |
controls |
controls |
出现控件 |
autoplay |
autoplay |
自动播放,不兼容很多浏览器,可配合muted静音而生效 |
loop |
loop |
循环播放 |
preload |
preload |
页面加载时进行加载,预备播放,如果有“autoplay”,则忽略此属性。 |
muted |
muted |
静音 |
1
| <video loop muted autoplay src="http://vfx.mtime.cn/Video/2019/03/19/mp4/190319222227698228.mp4" width="600px" controls="controls" preload="preload"></video>
|
音频-audio
属性 |
值 |
描述 |
src |
url |
音频地址 |
controls |
controls |
出现控件 |
autoplay |
autoplay |
自动播放,不兼容很多浏览器 |
loop |
loop |
循环播放 |
preload |
preload |
页面加载时进行加载,预备播放,如果有“autoplay”,则忽略此属性。 |
1
| <audio src="李圣杰 - 手放开.mp3" controls="controls" autoplay="autoplay"></audio>
|
拖放
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <div id="box" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <img draggable="false" src="a.jpg"> <img id="drag1" draggable="true" src="a.jpg" ondragstart="drag(event)"> <script type="text/javascript"> function allowDrop (event) { event.preventDefault() }
function drag (event) { event.dataTransfer.setData('Text', event.target.id) }
function drop (event) { event.preventDefault() var data = event.dataTransfer.getData('Text') event.target.appendChild(document.getElementById(data)) } </script>
|
画布-canvas
1 2 3 4 5 6 7 8 9 10 11
| <canvas id="myCanvas" width="200px" height="100px"></canvas> <script type="text/javascript"> var demo = document.getElementById('myCanvas') var cxt = demo.getContext("2d") cxt.fillStyle = "pink" cxt.fillRect(0, 0, 150, 75) </script>
|
伸缩矢量图形-内联-svg
1 2 3
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190px"> <polygon points="100,10 40,180 190,60 10,60 160,180" style="fill:pink;stroke:#444;stroke-width:3;fill-rule:evenodd;" /> </svg>
|
地理定位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 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 + "<br />经度: " + position.coords.longitude; }
|
Web存储
- localStorage:没有时间限制的数据存储,关闭浏览器数据仍存在
- sessionStorage:针对一个session的数据存储,关闭浏览器数据消失
Web Workers
web worker 是运行在后台的JavaScript,不会影响页面性能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <script> var w; function startWorker() { if(typeof(Worker) !== "undefined") { if(typeof(w) == "undefined") { w = new Worker("demo.js"); } w.onmessage = function(event) { document.getElementById("result").innerHTML = event.data; }; } else { document.getElementById("result").innerHTML = "抱歉,你的浏览器不支持 Web Workers..."; } } function stopWorker() { w.terminate(); w = undefined; } </script>
|
1 2 3 4 5 6 7 8
| var i = 0 function timedCount () { i = i + 1 postMessage(i) setTimeout('timedCount()', 500) } timedCount()
|
表单
type输入类型
输入类型 |
描述 |
email |
邮箱地址 |
url |
网址 |
number |
数字类型 |
range |
数字的输入域,滑动条 |
Date pickers |
日期 |
search |
搜索 |
color |
颜色 |
属性
属性 |
描述 |
autocomplete |
from&input属性,自动填充 |
novalidate |
form属性,不验证 |
autofocus |
获取焦点 |
height、width |
只适用于image类型的input标签 |
list |
选项列表 |
min、max、step |
|
multiple |
适用email和file类型的input标签,多值 |
pattern |
模式,正则表达式 |
placeholder |
提示 |
required |
提交时非空 |