HTML5是一个新的网络标准,现在仍处于发展阶段。目标是取代现有的HTML4.01和XHTML1.0标准。它希望能够减少互联网富应用(RIA)对Flash、Silverlight、JavaFX等的依赖,并且提供更多能有效增强网络应用的API。2004年•提出构想2008年•发布第一份草案2012年•推广阶段2020年•最终测试2022年•正式发布语义离线存储设备通用连接多媒体三维、图形与特效性能与集成CSS3HTML5引入了新的HTML元素,通过使用这些元素,开发者可以更细致的描述文档结构,让文档更加易读,搜索引擎也能更好的理解页面中各部分间的关系,我们也可以搜索到更快,更准确的信息。header定义页眉hgroup定义对网页标题的组合nav定义导航section定义文档中的区段time定义日期和时间被弃用的标签:acronym、applet、basefont、big、center、dir、font、frame、s、isindex、noframes、frameset、strike、tt、u和xmp。拾色器inputtype=colorvalue=#ed1c24日期字段inputtype=datemin=2010-12-16/时间字段inputtype=timestep=1800/数字字段inputtype=numbermin=1max=10value=1滑动组件inputtype=rangemin=1max=10value=1类型匹配inputtype=email/inputtype=url/除了这些,还有…搜索inputtype=search/进度条progressvalue=25max=10025%/progress密钥keygenname=abcdefg输出10+5=outputname=sum/outputAndsoon…正则匹配inputtype=textpattern=[0-9]{10}必填字段inputtype=textrequired/选项列表inputtype=textlist=mydatadatalistid=mydataoptionlabel=Mrvalue=Misteroptionlabel=Mrsvalue=Mistressoptionlabel=Msvalue=Miss/datalistdivmetaitemprop=ratingcontent=4评分:四星商户spanitemprop=count618/span封点评/div(WebStorage)以前,这些都是由Cookie完成的。但是Cookie有4KB的大小限制,而且会随HTTP请求一起被传递,无形中拖慢网页速度而且效率不高。localStorage.length;localStorage.key(index);localStorage.setItem('foo','bar');localStorage.getItem('foo');localStorage.removeItem('foo');localStorage.clear();对于存储少量的数据,WebStorage能够很好的完成任务,但是对大量的结构化数据进行处理时,它就力所不及了,而这正是IndexedDB的应用所在。IndexedDB严格遵循W3C的同源策略,每个源都拥有独立的存储空间,每个存储空间内又可以创建多个数据库,每个数据库可以包含多个表,每个表都是一个json对象列表,可以存储多个json对象,比如{name:sonic,age:27}。htmlmanifest=cache.appcacheCACHEMANIFEST#version1.0.0#缓存—定义了哪些资源是浏览器可以缓存的CACHE:/html5/src/logic.js/html5/src/style.css/html5/src/background.png#网络—定义了哪些资源是需要用户在线才能使用的NETWORK:*(Audio+Video)audiosrc=sound.mp3controls/audiovideosrc=movie.webmautoplaycontrols/videocanvasid=canvaswidth=300height=300/canvasscriptvarctx=document.getElementById(canvas).getContext(2d);ctx.fillRect(20,25,150,100);ctx.beginPath();ctx.arc(220,110,100,Math.PI*1/2,Math.PI*3/2);ctx.lineWidth=15;ctx.lineCap='round';ctx.strokeStyle='rgba(255,127,0,0.5)';ctx.stroke();/script计算上传进度:xhr.upload.addEventListener(progress,function(e){varpc=parseInt(100–(e.loaded/e.total*100));progress.style.backgroundPosition=pc+%;}