HTML5以及其新增的属性
1. 语义化标签
HTML5中增加了很多语义化标签,如下:
section:表示页面中的一个内容区块
article: 表示一块与上下文无关的独立的内容
aside:是辅助 article 区域的内容。也可以理解为整个网页的 辅助区域
figure: 表示一段独立的流内容,使用figcaption元素为其添加标题(第一个或最后一个子元素的位置)
header: 表示页面中一个内容区块或整个页面的标题
footer: 表示页面中一个内容区块或整个页面的脚注
nav: 表示页面中导航链接部分
main:表示页面中的主要的内容(ie不兼容)
兼容性问题:HTML5里面的语义化标签在IE8及以下是不能够识别的,因此我们可以通过js的代码来创建这些标签
document.createElement('header');
2. HTML5新增的属性主要和表单有关
<input type=‘value’>
这里的value可以是text、password、email、tel、url、number、search、range、color、time、data、datatime、datatime-local、week;
其中:
- email :能够验证当前输入的邮箱地址是否合法
- tel : 并不能验证是否是合法的手机号,因此HTML5的标准是全球标准,并不是所有的国家手机号都和中国的一样。其本质为在移动端中,只能打开数字键盘,而不是字母键盘,限制只能输入数字
- url : 验证URL
- number : 只能输入数字,其他输入不了,而且自带上下增大减小箭头,max属性可以设置为最大值,min可以设置为最小值,value为默认值。
- search : 输入框后面会给提供一个小叉,可以删除输入的内容,更加人性化。
- range : 可以提供给一个范围,其中可以设置max和min以及value,其中value属性可以设置为默认值
- color : 提供了一个颜色拾取器
- time : 时分秒
- data : 日期选择年月日
- datatime : 时间和日期(目前只有Safari支持)
- datatime-local :日期时间控件
- week :周控件
- month:月控件
form表单新增的属性
-
placeholder :提示信息
-
autofocus :自动获取焦点
-
autocomplete=“on” 或者 autocomplete=“off” 使用这个属性需要有两个前提:
1.必须表单提交过
2.必须有name属性。 -
required:要求输入框不能为空,必须有值才能够提交。
-
pattern=" " 里面写入想要的正则模式,例如手机号patte="^(+86)?\d{10}$"
-
multiple:可以选择多个文件或者多个邮箱
-
form=" form表单的ID"
使用场景:<form id='myForm'> <input type='text'> <input type='submit'> </form> <input type='text' name='address' form='myForm'> <!-- 这样当点击submit的时候,这个输入框的内容也会被提交。 -->
-
对于select标签,HTML5提供了既能够输入又能够选择的datalist标签,但是这个标签目前浏览器对他的兼容性并不是很好,所以目前很少使用。
<input type='text' list='subjects'> <!--id是来建立input和datalist的联系,label是提示值 --> <datalist id='subjects'> <option value='one' label='这是1'> <option value='two' label='这是2'> <option value='three' label='这是3'> </datalist>
form表单里的新增事件
-
oninput 每当input里的输入框内容发生变化都会触发此事件。
-
oninvalid 当验证不通过时触发此事件。
使用场景:当验证不通过时提示我们自定义的提示信息document.getElementById('userphone').oninvalid(function(){ this.setCustomValidity("请输入合法的11位数字") <!-setCustomValidity是表单的自定义验证提示--> })
进度条
-
progress属性:用来表示任务的进度(IE、Safari不支持),max用来表示人物的进度,value表示已完成多少
-
使用场景如下:
<progress value='10' max='100'></progress>
度量器
meter属性:用来显示剩余容量或剩余库存(IE、Safari不支持)
-
high/low:规定被视作高/低的范围
-
max/min:规定最大/小值
-
value:规定当前度量值
设置规则:min < low < high < max
使用场景如下:<meter min="0" low="40" high="90" max="100" value="95"></meter>
HTML5里新增的多媒体标签
(1)audio音频
<audio src='' controls autoplay loop='true'></audio>
属性:
-
controls 控制面板
-
autoplay 自动播放
-
loop=‘true’ 循环播放
(2)video视频
<video src='' poster='imgs/aa.jpg' controls></video>
属性:
-
poster:指定视频还没有完全下载完毕,或者用户还没有点击播放前显示的封面。默认显示当前视频文件的第一针画面,当然通过poster也可以自己指定。
-
controls 控制面板
-
width
-
height
注意:在设置视频宽高的时候,视频的宽高比例是固定不变的,也就是只能设置宽度或者设置高度,而不能同时设置宽度和高度,否则画面不会按照你指定的宽高显示,依然是等比例显示,只是占据了空间大小。 -
source标签:因为浏览器对视频格式支持程度不一样,为了能够兼容不同的浏览器,可以通过source来指定视频源。
<video> <source src='aa.flv' type='video/flv'></source> <source src='aa.mp4' type='video/mp4'></source> </video>
HTML5里新增的查询DOM的操作
可以是标签,可以是类(需要加点),可以是ID(需要加#)
- document.querySelector()
- document.querySelectorAll()