一、HTML5 简介

olinonee大约 7 分钟

一、HTML5 简介

1.什么是 HTML5

2. HTML5 优势

  1. 针对 JavaScript,新增了很多可操作的接口。
  2. 新增了一些语义化标签、全局属性。
  3. 新增了多媒体标签,可以很好的替代 flash
  4. 更加侧重语义化,对于 SEO 更友好。
  5. 可移植性好,可以大量应用在移动设备上。

3.HTML5 兼容性

  • 支持:ChromeSafariOperaFirefox 等主流浏览器。

IE 浏览器必须是 9 及以上版本才支持 HTML5 ,且 IE9 仅支持部分 HTML5 新特性。

二、新增语义化标签

1.新增布局标签

标签名语义单/双标签
header整个页面,或部分区域的头部
footer整个页面,或部分区域的底部
nav导航
article文章、帖子、杂志、新闻、博客、评论等。
section页面中的某段文字,或文章中的某段文字(里面文字通常里面会包含标题)。
aside侧边栏
main文档的主要内容 (WHATWG 没有语义,IE 不支持),几乎不用。
hgroup包裹连续的标题,如文章主标题、副标题的组合(W3C 将其删除)

关于 articlesection

  1. article 里面可以有多个 section
  2. section 强调的是分段或分块,如果你想将一块内容分成几段的时候,可使用 section 元素。
  3. articlesection 更强调独立性,一块内容如果比较独立、比较完整,应该使用 article 元素。

2.新增状态标签

2.1 meter 标签

  • 语义:定义已知范围内的标量测量。也被称为 gauge(尺度),双标签,例如:电量、磁盘用量等。
  • 常用属性如下:
属性描述
high数值规定高值
low数值规定低值
max数值规定最大值
min数值规定最小值
optimum数值规定最优值
value数值规定当前值

2.2 progress 标签

  • 语义:显示某个任务完成的进度的指示器,一般用于表示进度条,双标签,例如:工作完成进度等。
  • 常用属性如下:
属性描述
max数值规定目标值。
value数值规定当前值。

3.新增列表标签

标签名语义单/双标签
datalist用于搜索框的关键字提示
details用于展示问题和答案,或对专有名词进行解释
summary写在 details 的里面,用于指定问题或专有名词
<input type="text" list="mydata">
<datalist id="mydata">
  <option value="周冬雨">周冬雨</option>
  <option value="周杰伦">周杰伦</option>
  <option value="温兆伦">温兆伦</option>
  <option value="马冬梅">马冬梅</option>
</datalist>
<details>
  <summary>如何走上人生巅峰?</summary>
  <p>一步一步走呗</p>
</details>

4.新增文本标签

4.1 文本注音

标签名语义单/双标签
ruby包裹需要注音的文字
rt写注音, rt 标签写在 ruby 的里面
<ruby>
  <span>魑魅魍魉</span>
  <rt>chī mèi wǎng liǎng</rt>
</ruby>

4.2 文本标记

标签名语义单/双标签
mark标记

注意: W3C 建议 mark 用于标记搜索结果中的关键字。

三、新增表单功能

1.表单控件新增属性

属性名功能
placeholder提示文字(注意:不是默认值,value 是默认值),适用于文字输入类的表单控件。
required表示该输入项必填,适用于除按钮外其他表单控件。
autofocus自动获取焦点,适用于所有表单控件。
autocomplete自动完成,可以设置为 onoff ,适用于文字输入类的表单控件。注意:密码输入框、多行输入框不可用。
pattern填写正则表达式,适用于文本输入类表单控件。注意:多行输入不可用,且空的输入框不会验证,往往与 required 配合。

2.input 新增属性值

属性名功能
email邮箱类型的输入框,表单提交时会验证格式,输入为空则不验证格式。
urlurl 类型的输入框,表单提交时会验证格式,输入为空则不验证格式。
number数字类型的输入框,表单提交时会验证格式,输入为空则不验证格式。
search搜索类型的输入框,表单提交时不会验证格式。
tel电话类型的输入框,表单提交时不会验证格式,在移动端使用时,会唤起数字键盘。
range范围选择框,默认值为 50,表单提交时不会验证格式。
color颜色选择框,默认值为黑色,表单提交时不会验证格式。
date日期选择框,默认值为空,表单提交时不会验证格式。
month月份选择框,默认值为空,表单提交时不会验证格式。
week选择框,默认值为空,表单提交时不会验证格式。
time时间选择框,默认值为空,表单提交时不会验证格式。
datetime-local日期+时间选择框,默认值为空,表单提交时不会验证格式。

3.form 标签新增属性

属性名功能
novalidate如果给 form 标签设置了该属性,表单提交的时候不再进行验证。

四、新增多媒体标签

1.视频标签

<video> 标签用来定义视频,它是双标签。

属性描述
srcURL 地址视频地址
width像素值设置视频播放器的宽度
height像素值设置视频播放器的高度
controls-向用户显示视频控件(比如播放/暂停按钮)
muted-视频静音
autoplay-视频自动播放
loop-循环播放
posterURL 地址视频封面
preloadauto/metadata/none视频预加载,如果使用 autoplay,则忽略该属性。
none:不预加载视频。
metadata:仅预先获取视频的元数据(例如长度)。
auto:可以下载整个视频文件,即使用户不希望使用它。

2.音频标签

<audio> 标签用来定义音频,它是双标签。

属性描述
srcURL 地址音频地址
controls-向用户显示音频控件(比如播放/暂停按钮)
muted-音频静音
autoplay-音频自动播放
loop-循环播放
preloadauto/metadata/none音频预加载,如果使用 autoplay,则忽略该属性。
none:不预加载音频。
metadata:仅预先获取音频的元数据(例如长度)。
auto:可以下载整个音频文件,即使用户不希望使用它。

五、新增全局属性(了解)

属性功能
contenteditable表示元素是否可被用户编辑,可选值如下:
true:可编辑
false:不可编辑
draggable表示元素可以被拖动,可选值如下:
true:可拖动
false:不可拖动
hidden隐藏元素
spellcheck规定是否对元素进行拼写和语法检查,可选值如下:
true:检查
false:不检查
contextmenu规定元素的上下文菜单,在用户鼠标右键点击元素时显示。
data-*用于存储页面的私有定制数据。

六、HTML5 兼容性处理

  • 添加元信息,让浏览器处于最优渲染模式。
<!-- 设置 IE 总是使用最新的文档模式进行渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<!-- 优先使用 webkit(Chromium) 内核进行渲染,针对 360 等壳浏览器 -->
<meta name="renderer" content="webkit">
  • 使用 html5shiv 让低版本浏览器认识 H5 的语义化标签。
<!--[if lt ie 9]>
<script src="../sources/js/html5shiv.js"></script>
<![endif]-->
  • 扩展

lt 小于
lte 小于等于
gt 大于
gte 大于等于
! 逻辑非

  • 示例:
<!--[if IE 8]>仅 IE8 可见<![endif]-->
<!--[if gt IE 8]>仅 IE8 以上可见<![endif]-->
<!--[if lt IE 8]>仅 IE8 以下可见<![endif]-->
<!--[if gte IE 8]>IE8 及以上可见<![endif]-->
<!--[if lte IE 8]>IE8 及以下可见<![endif]-->
<!--[if !IE 8]>非 IE8 的 IE 可见<![endif]-->