整理了一些关于html5的知识点
HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。
HTML5的设计目的是为了在移动设备上支持多媒体。
HTML5 简单易学。
HTML5 是下一代 HTML 标准。
HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。
HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
HTML5 的改进
注意:Math.PI表示180°,画圆的方向是顺时针
当我们使用渐变对象,必须使用两种或两种以上的停止颜色。
addColorStop()方法指定颜色停止,参数可以是0至1.
- 新元素
- 新属性
- 完全支持 CSS3
- Video 和 Audio
- 2D/3D 制图
- 本地存储
- 本地 SQL 数据
- Web 应用
-
HTML5 浏览器支持
现代的浏览器都支持 HTML5。
-
HTML5 定了 8 个新的 HTML 语义(semantic) 元素。所有这些元素都是 块级 元素。
-
header, section, footer, aside, nav, main, article, figure
-
为HTML添加新元素
-
<script> document.createElement("Blog") </script>
HTML5新元素
-
标签 描述 <canvas> 标签定义图形,比如图表和其他图像。该标签基于 JavaScript 的绘图 API -
<audio> 定义音频内容 <video> 定义视频(video 或者 movie) <source> 定义多媒体资源 <video> 和 <audio> <embed> 定义嵌入的内容,比如插件。 <track> 为诸如 <video> 和 <audio> 元素之类的媒介规定外部文本轨道。 -
<datalist> 定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。 <keygen> 规定用于表单的密钥对生成器字段。 <output> 定义不同类型的输出,比如脚本的输出。 -
<article> 定义页面独立的内容区域。 <aside> 定义页面的侧边栏内容。 <bdi> 允许您设置一段文本,使其脱离其父元素的文本方向设置。 <command> 定义命令按钮,比如单选按钮、复选框或按钮 <details> 用于描述文档或文档某个部分的细节 <dialog> 定义对话框,比如提示框 <summary> 标签包含 details 元素的标题 <figure> 规定独立的流内容(图像、图表、照片、代码等等)。 <figcaption> 定义 <figure> 元素的标题 <footer> 定义 section 或 document 的页脚。 <header> 定义了文档的头部区域 <mark> 定义带有记号的文本。 <meter> 定义度量衡。仅用于已知最大和最小值的度量。 <nav> 定义导航链接的部分。 <progress> 定义任何类型的任务的进度。 <ruby> 定义 ruby 注释(中文注音或字符)。 <rt> 定义字符(中文注音或字符)的解释或发音。 <rp> 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 <section> 定义文档中的节(section、区段)。 <time> 定义日期或时间。 <wbr> 规定在文本中的何处适合添加换行符。 -
<canvas>简单实例如下:
<canvas id="myCanvas" width="200" height="100"></canvas>
-
fillRect 方法拥有参数 (0,0,x,y)。
意思是:在画布上绘制 x*y 的矩形,从左上角开始 (0,0)。
在Canvas上画线,可以使用以下两种方法:
- moveTo(x,y) 定义线条开始坐标
- lineTo(x,y) 定义线条结束坐标
-
在画圆的时候,使用下面的方法
-
arc(x,y,r,start,stop)
x:圆心在x轴上的坐标
- y:圆心在y轴上的坐标
- r:半径长度
- start:起始角度,以弧度表示,圆心平行的右端为0度
- stop:结束角度,以弧度表示
-
Canvas - 渐变
-
以下有两种不同的方式来设置Canvas渐变:
- createLinearGradient(x,y,x1,y1) - 创建线条渐变
- createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
把一幅图像放置到画布上, 使用以下方法:
- drawImage(image,x,y)
-
HTML5 支持内联 SVG。
- 拖放(Drag 和 drop)是 HTML5 标准的组成部分。
- 在 HTML5 中,任何元素都能够拖放。
- HTML5 Geolocation(地理定位)用于定位用户的位置。
- getCurrentPosition() 方法来获得用户的位置
-
watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置
-
clearWatch() - 停止 watchPosition() 方法
-
HTML5 Video
-
<video> 元素提供了 播放、暂停和音量控件来控制视频,同时可设置宽高
-
<video> 元素支持多个 <source> 元素
-
HTML5 提供了播放音频文件的标准。
-
audio与video用法相似
-
HTML5 新的 Input 类型
-
Input 类型: color
-
Input 类型: date
-
Input 类型: datetime
-
Input 类型: datetime-local
-
Input 类型: email
-
Input 类型: month
-
Input 类型: number
-
Input 类型: range
-
Input 类型: search
-
Input 类型: tel
-
Input 类型: time
-
Input 类型: url
-
Input 类型: week
- HTML5 新表单元素
- <datalist> 元素规定输入域的选项列表
-
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>biubiubiu</title> </head> <body> <form action="demo-form.php" method="get"> <input list="browsers" name="browser"> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"> <option value="Chrome"> <option value="Opera"> <option value="Safari"> </datalist> <input type="submit"> </form> </body> </html>
<keygen>标签规定用于表单的密钥对生成器字段。
当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
-
<output> 元素用于不同类型的输出
-
<form>新属性:
- autocomplete
- novalidate
- autocomplete:规定 form 或 input 域应该拥有自动完成功能。
- autofocus: 属性是一个布尔属性,属性规定在页面加载时,域自动地获得焦点。
- form:form 属性规定输入域所属的一个或多个表单
- formaction:表单提交的URL地址
- formenctype:
- formmethod:表单提交的方式。
- formnovalidate:是一个 boolean 属性.提交时无需验证
- formtarget:指定一个名称或一个关键字来指明表单提交数据接收后的展示
- height 与 width
- list
- min 与 max
- multiple:是一个 boolean 属性.规定<input> 元素中可选择多个值。
- pattern (regexp):pattern 属性描述了一个正则表达式
- placeholder:自定义的提示在用户输入值前会显示在输入域上。
- required:是一个 boolean 属性.规定必须在提交之前填写输入域(不能为空)
- step:step 属性为输入域规定合法的数字间隔。
-
HTML5中新的语义元素
- <header>元素描述了文档的头部区域
-
<footer> 元素描述了文档的底部区域.
-
<nav> 标签定义导航链接的部分。
-
<article> 标签定义内容
-
<section> 标签定义文档的章节,页眉等。
-
<aside> 标签定义页面主内容之外的内容。
-
<figure>标签规定独立的流内容
-
<figcaption> 标签定义 <figure> 元素的标题
-
HTML5 web 存储,本地存储方式。
-
客户端存储数据的两个对象为:
- localStorage - 保存的数据不会过期,直到手动删除。
- sessionStorage - 针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除
- 常用的api:
- 读取数据:localStorage.getItem(key)
- 保存数据:localStorage.setItem(key,value)
- 删除单个数据:localStorage.removeItem(key)
- 使用 JSON.stringify 来存储对象数据,JSON.stringify 可以将对象转换为字符串
- JSON.parse 方法将字符串转换为 JSON 对象
- HTML5 引入了应用程序缓存 及其优点
- 离线浏览 - 用户可在应用离线时使用它们
- 速度 - 已缓存资源加载得更快
- 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
-
HTML5 WebSocket
- WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
- 在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
- 创建 WebSocket 对象。
-
var Socket = new WebSocket(url, [protocol] )
Socket.onopen 连接建立时触发 Socket.onerror 通信发生错误时触发 -
Socket.onmessage 客户端接收服务端数据时触发
Socket.onclose 连接关闭时触发 -
Socket.send() 使用连接发送数据
Socket.close() 关闭连接