H5新增

HTML5 发展史
 
    HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG(网页超文本应用技术工作小组)提出,于2007年被W3C接纳,并成立了新的 HTML 工作团队。HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
 
    2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿。根据W3C的发言稿称:“开放的HTML5是Web网络平台的奠基石。” 2013年5月6日, HTML 5.1正式草案公布。该规范定义了第五次重大版本,第一次要修订万维网的核心语言:超文本标记语言(HTML)。在这个版本中,新功能不断推出,以帮助Web应用程序的作者,努力提高新元素交互操作性。 
 
    本次草案的发布,从2012年12月27日至今,进行了多达近百项的修改,包括HTML和XHTML的标签,相关的API、Canvas等,同时HTML5的图像img标签及svg也进行了改进,性能得到进一步提升。
 
 
 
HTML5 的浏览器兼容
 
   支持Html5的浏览器包括Firefox(火狐浏览器),IE9及其更高版本,Chrome(谷歌浏览器),Safari,Opera等;国内的 遨游浏览器(Maxthon),以及基于IE或Chromium(Chrome的工程版或称实验版)所推出的360浏览器、搜狗浏览器、QQ浏览器、猎豹 浏览器等国产浏览器同样具备支持HTML5的能力。
 
HTML5 语法
 
    内容类型(ContentType)
    HTML5的文件扩展符与内容类型保持不变,仍然为".html"或".htm"。  
    DOCTYPE声明    
    <!DOCTYPE html> 
    不区分大小写 
    指定字符集编码    
    <meta charset="UTF-8"> 
 
    可省略标记的元素 
    不允许写结束标记的元素:br、col、embed、hr、img、input、、link、meta 
    可以省略结束标记的元素:li、dt、dd、p、option、colgroup、thead、tbody、tfoot、tr、td、th 
    可以省略全部标记的元素:html、head、body、colgroup、tbody 
    省略引号 
    属性值可以使用双引号,也可以使用单引号
 
HTML5  新增语义化标签
 
    section元素 表示页面中的一个内容区块            DIV 
 
    header元素 表示页面中一个内容区块或整个页面的标题 
 
    footer元素 表示页面中一个内容区块或整个页面的脚注 
 
    nav元素 表示页面中导航链接部分 
 
    article元素 表示一块与上下文无关的独立的内容 
 
    aside元素 在article之外的,与article内容相关的辅助信息 
 
    figure元素 表示一段独立的流内容,使用figcaption元素为其添加标题(第一个或最后一个子元素的位置) 
 
    main元素 表示页面中的主要的内容 (ie不兼容) 
 
    <dialog> 标签定义对话框或窗口。
 
    属性open    规定 dialog 元素是活动的,用户可与之交互。 <dialog open>这是打开的对话窗口</dialog> 
 
<canvas>画布 
    HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. 
    <canvas> 标签只是图形容器,您必须使用脚本来绘制图形。 
    你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。 
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"> </canvas>
 
 

兼容低版本浏览器: <script src=“html5.js”></script>

<!--[if lt IE9]> 
<script> 
(function() {
             if (! 
             /*@cc_on!@*/
             0) return;
             var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
             var i= e.length;
             while (i--){
                 document.createElement(e[i])
             } 
        })() 
    </script>
<![endif]-->

 

HTML5  智能表单
 
    Type=“email” 限制用户必须输入email类型 
 
    Type=“url” 限制用户必须输入url类型 
 
    Type=“range” 产生一个滑动条表单 
 
    Type=“search” 产生一个搜索意义的表单 
 
    Type=“color” 生成一个颜色选择的表单 
 
    Type=“time” 限制用户必须输入时间类型 
 
    Type=“date” 限制用户必须输入时间类型 
 
    Type=“month” 限制用户必须输入月类型 
 
    Type=“week” 限制用户必须输入周类型 
 
    Type=“datetime-local” 选取本地时间
 
 
input类型设置 
    email:专门用来输入email地址的文本框,如果该文本框中内容不是email地址格式的,则不允许提交。但它不检查email地址是否存在。提交时可以为空,除非加上了required属性。
required属性。 
    具有multiple属性,它允许在该文本框中输入一串以逗号分隔的email地址。 
 
url类型 
    专门用来输入URL地址的文本框。如果该文本框中内容不是URL地址格式的,则不允许提交。mail地址。 例:<input name=‘url1’ type=‘url’ value=‘’http://www.baidu.com”> 
 
Number类型 
    专门用来输入数字的文本框。在提交时会检查其中的内容是否为数字,具有min、max、step的属性。 例:<input name=“number1” type=“number” value=“25” min=“10” max=“100” step=“5” />
 
ange类型 
    是用来只允许输入一段范围内数值的文本框,它具有min属性与max属性,及step属性,可以指定每次拖动的步幅。     例: <input name=“range1” type=“range” value=“25” min=“0” max=“100” step=“5” /> 
    min 最小值 
    max 最大值 
    step 数字间隔
 
output: 
    定义不同类型的输出,如计算结果的输出,或脚本的输出。 
    注:必须从属于某个表单。即,必须将它书写在表单内部 
    Output标签IE不支持 
    对新元素样式的使用: 
        注意,跟 input 标签设置样式一样,但是要设置标签中局部的样式不能实现。如改变日历的背景色,颜色框的按钮效果,等,这些都不可以实现。 
<form action="" oninput="x.value=parseInt(a.value)+parseInt(b.value)">                 
        0<input id="a" type="range" min="0" max="100">100+      
        <input id="b" type="text" value="50">         
        = <output name="x" for="a b"></output>    
</form>
 
Datalist :选项列表 
    例: <input type="url" list="url_list" name="link" /> 
    <datalist id="url_list">   
        <option label="W3School" value="http://www.W3School.com.cn" />   
        <option label="Google" value="http://www.google.com" />   
        <option label="Microsoft" value="http://www.microsoft.com" /> 
    </datalist> 
提示:option 元素永远都要设置 value 属性。 list属性:结合datalist元素使用
 
1、新增属性    placeholder属性:文本框处于未输入状态时文本框中显示的输入提示。  
  
2、autofocus属性:给文本框、选择框、或者按钮控件加上该属性,当打开页面时,该控件自动获得焦点,一个页面只能有一个。 
 
3、required属性:验证输入不能为空    
  
4、autocomplete属性:输入富足和所用的自动完成功能,是一个节省输入时间,同时也十分方便的功能。属性值:on/off。on可是显示指定候补输入的数据列表,使用datalist元素与list属性提供候补输入的数据列表,自动完成时,可以将该datalist元素中的数据作为候补输入的数据在文本框中显示: 
<input type="text"  autocomplete="on"  list ="greeting"> 
 
5、novalidate取消验证     可以对form表单添加novalidate属性,即使form表单中的input添加了required,也将不进行验证partten 
 
6、Multiple:可以输入一个或多个值,每个值之间用逗号分开     例:<input type=“email” multiple/> 还可以应用于file
 
7、pattern属性 
pattern用于验证表单输入的内容,通常HTML5的type属性,比如email、tel、number、data类、url等,已经自带了简单的数据格式验证功能了,加上pattern后,前端部分的验证更加简单高效了。 
显而易见,pattern的属性值要用正则表达式。 
实例 
    简单的数字验证 
    数字的验证有两个: <input type="number" pattern="\d"> 
   
<input type="number" pattern="[0-9]*"></input type="number" pattern="[0-9]*">
</input type="number" pattern="\d">
 
 
 
[abc]     a、b 或 c(简单类) 
[^abc]   任何字符,除了 a、b 或 c(否定) 
[a-zA-Z] a到 z 或 A 到 Z,两头的字母包括在内(范围) 
[a-d[m-p]]   a到 d 或 m 到 p:[a-dm-p](并集) 
[a-z&&[def]]       d、e 或 f(交集) 
[a-z&&[^bc]]      a 到 z,除了 b 和 c:[ad-z](减去) 
[a-z&&[^m-p]]   a 到 z,而非 m 到 p:[a-lq-z](减去)
 
 
信用卡  [0-9]{13,16} 
银联卡  ^62[0-5]\d{13,16}$ 
Visa: ^4[0-9]{12}(?:[0-9]{3})?$ 
万事达:^5[1-5][0-9]{14}$ 
QQ号码: [1-9][0-9]{4,14} 
手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 
身份证:^([0-9]){7,18}(x|X)?$ 
密码:^[a-zA-Z]\w{5,17}$ 字母开头,长度在6~18之间,只能包含字母、数字和下划线 
强密码:^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间 7
个汉字或14个字符:^[\u4e00-\u9fa5]{1,7}$|^[\dA-Za-z_]{1,14}$
 
Video和audio的应用
 
video元素 定义视频
    <video src="movie.ogg" controls="controls">Video元素</video> 
 
audio元素 定义音频 
    <audio src="someaduio.wav">Audio元素</audio> 
 
controls属性:如果出现该属性,则向用户显示控件,比如播放按钮。
 
autoplay属性:如果出现该属性,则视频在就绪后马上播放。 
 
loop属性:重复播放属性。 muted属性:静音属性。 
 
poster属性:规定视频正在下载时显示的图像,直到用户点击播放按钮。 
 
<source> 标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。 
 
<source> 标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。 
 
<video controls>        
    <source src="../mv/movie.ogg" type="video/ogg">        
    <source src="../mv/web.mp4" type="video/mp4"> 
</video> 
 
Type属性值: 用于视频:video/ogg   video/mp4     video/webm 
            用于音频:audio/ogg   audio/mpeg   audio/mp3
 
HTML <iframe> 标签-不是HTML5新增
 
posted @ 2019-07-21 15:46  前端小菜鸟吖  阅读(2421)  评论(3编辑  收藏  举报