第1章 HTML5概述 1
1.1认识HTML5 1
1.2 HTML5新特性 1
1.2.1新的元素 1
1.2.2新的API 2
1.3文档结构与字符集 2
1.4语义化标记 2
1.5检测技术 7
第2章 使用视频与音频元素 8
2.1设置视频元素 8
2.1.1声明视频元素 8
2.1.2浏览器支持性检测 9
2.2设置音频元素 11
2.3媒体特性 11
第3章 表单元素与相关属性 15
3.1输入类型 15
3.2浏览器支持检测 18
3.2.1输入类型检测 18
3.2.2表单特性检测 19
3.3 output元素与 datalist元素 20
3.3.1 output元素 20
3.3.2 datalist元素 20
3.4表单特性 21
3.5表单验证类型 22
3.6验证反馈 24
第4章 画布处理 26
4.1 HTML5画布基础 26
4.1.1声明canvas 26
4.1.2渲染上下文 26
4.1.3浏览器支持检测 27
4.2绘制图形 27
4.2.1绘制矩形 27
4.2.2绘制路径 28
4.2.3绘制各种线条 30
4.3使用图像 33
4.3.1将图像复制到画布 33
4.3.2图像缩放 34
4.3.3图像剪切 35
4.4 Canvas文本 35
4.5样式与色彩 36
4.5.1色彩属性 36
4.5.2设置透明度 37
4.5.3渐变 37
4.5.4阴影 38
4.6变形 39
4.6.1保持与恢复 39
4.6.2移动 40
4.6.3缩放 41
4.6.4旋转 41
4.7遮盖 42
4.8绘制简单动画 43
第5章 事件处理 45
5.1事件处理方式 45
5.1.1监听方式 45
5.1.2赋值方式 47
5.2 HTML5常用事件 47
5.2.1表单事件 47
5.2.2键盘事件 49
5.2.3鼠标事件 50
5.2.4媒体事件 51
5.2.5 window事件 52
第6章 HTML5选择器 54
6.1传统的DOM遍历方式 54
6.1.1使用JavaScript方法查找 54
6.1.2使用元素节点属性查找 56
6.2新的Selectors API 57
6.3使用Selectors API 57
6.3.1 querySelector方法 57
6.3.2 querySelectorAll方法 59
第7章 使用HTML5 SVG 61
7.1 SVG形状 61
7.1.1 SVG圆形 61
7.1.2 SVG矩形 61
7.1.3 SVG椭圆 62
7.1.4 SVG线条 62
7.1.5 SVG多边形 63
7.1.6 SVG折线 63
7.1.7 SVG路径 63
7.2 SVG渐变 63
7.2.1线性渐变 64
7.2.2放射性渐变 64
7.3 SVG滤镜 65
第8章 Web存储 66
8.1认识Web Storage 66
8.2 Web Storage组成 66
8.3 Web Storage API 67
8.3.1检测浏览器支持性 67
8.3.2存储和获取数据 68
8.3.3转换存储数据 71
8.3.4 Storage事件 71
8.4存储限制 72
8.5使用JSON处理数据 73
8.5.1认识JSON 73
8.5.2存储JSON对象 75
第9章 使用Web SQL Database 77
9.1核心方法 77
9.2执行操作 78
9.2.1打开连接 78
9.2.2创建数据表 78
9.2.3插入数据 79
9.2.4查询数据 80
9.2.5修改与删除 81
9.3完整的操作实例 81
第10章 使用IndexedDB 84
10.1认识IndexedDB 84
10.2 IndexedDB存储结构 84
10.3适应多内核浏览器 85
10.4 IndexedDB API 86
10.4.1初始化数据库连接 86
10.4.2建立存储对象 87
10.4.3向存储对象中添加数据 88
10.4.4查询存储的数据 89
10.5应用举例 90
第11章 文件处理 94
11.1 File API 94
11.1.1 FileList与File接口 94
11.1.2 Blob接口 95
11.1.3 FileReader接口 99
11.2 FileWriterAPI 101
11.2.1 BlobBuilder接口 102
11.2.2 FileSaver接口 103
11.2.3 FileWriter接口 103
11.3 FileSystem API 104
11.3.1 FileSystem初始化 104
11.3.2 FileEntry接口 106
11.3.3 DirectoryEntry接口 111
11.3.4 FileSystem URL 116
第12章 拖放操作 117
12.1 drag and drop简介 117
12.2 drag and drop API 117
12.2.2浏览器支持性检测 117
12.2.2 drag and drop事件 117
12.2.3 dataTransfer对象 118
12.3 drag and drop过程 118
第13章 地理定位 121
13.1浏览器支持性检测 121
13.2单次位置请求 121
13.2.1获取位置信息 122
13.2.2错误处理 123
13.2.3可选位置特性 125
13.3持续获取位置信息 126
13.4在Google Map中显示位置 127
第14章 通信应用 129
14.1 PostMessage 129
14.1.1浏览器支持性检测 129
14.1.2发送与监听 129
14.1.3创建postMessage应用 130
14.2 Server-Sent Events 132
14.2.1浏览器支持性检测 132
14.2.2 Server-Sent Events API 133
14.2.3服务器端代码设置 133
14.2.4创建Server-Sent Events应用 134
14.3 WebSocket 136
14.3.1 WebSocket API 136
14.3.2浏览器支持性检测 137
14.3.3 WebSocket API使用方法 137
第15章 使用Web Worker处理线程 139
15.1 Web Worker API 139
15.1.1浏览器支持性检查 139
15.1.2构建Web Worker 139
15.1.3 Web Worker传递信息 140
15.1.4终止Worker 140
15.1.5错误处理 140
15.1.6加载外部脚本 141
15.2 Worker简单操作流程 141
15.3使用Worker线程做后台数值计算 143
15.4 Worker线程嵌套 145
15.5共享线程 146
15.5.1创建共享线程 146
15.5.2与共享线程通信 146
15.5.3共享线程的使用 147
第16章 离线Web应用 149
16.1认识Offline Web Application 149
16.2 manifest文件 149
16.2.1引用清单文件 149
16.2.2清单文件结构 150
16.3在线状态检测 151
16.4 Application cache API 152
16.4.1浏览器支持性检测 152
16.4.2 ApplicationCache对象 152
第17章 HTML5的其他应用 159
17.1 HTML5 Notifications 159
17.1.1浏览器支持性检测 159
17.1.2创建Notifications 159
17.1.3显示提示许可 160
17.1.4添加回调和其他操作 160
17.1.5实例代码 160
17.2 HTML5 Progress 161
17.2.1语法与属性 161
17.2.2自定义HTML5的样式 162
17.2.3 Progress实例 162
第18章 CSS3属性 165
18.1边框属性 165
18.1.1 border-colors属性 165
18.1.2 border-image属性 166
18.1.3 border-radius属性 171
18.1.4 box-shadow属性 175
18.2背景属性 176
18.2.1 background-clip属性 176
18.2.2 background-origin属性 178
18.2.3 background-size属性 180
18.2.4 multiple background属性 182
18.3颜色属性 184
18.3.1 HSL colors属性 184
18.3.2 HSLA colors属性 185
18.3.3 RGBA colors属性 187
18.3.4 opacity属性 188
18.4文本属性 189
18.4.1 text-shadow属性 189
18.4.2 text-overflow属性 191
18.4.3 word-wrap属性 192
18.4.4 word-break属性 193
18.5字体属性 195
18.5.1@font-face属性 195
18.5.2字体格式 195
18.5.3应用举例 196
18.6用户界面属性 197
18.6.1 box-sizing属性 197
18.6.2 resize属性 199
18.6.3 outline-offset属性 200
18.6.4 nav-index属性 201
18.6.5定义方向键控制顺序 202
18.7基础盒模型 204
18.7.1 overflow属性 204
18.7.2 overflow-x与overflow-y属性 206
18.8多栏属性 208
18.8.1 columns属性 208
18.8.2 column-width属性 210
18.8.3 column-count属性 211
18.8.4 column-gap属性 212
18.8.5 column-rule属性 214
18.8.6 column-rule-color属性 215
18.8.7 column-rule-style属性 215
18.8.8 column-rule-width属性 216
18.8.9 column-span属性 217
18.8.10 column-fill属性 219
18.9变换属性 221
18.9.1 transform属性 221
18.9.2 transform-origin属性 233
18.9.3 transform-style属性 235
18.9.4 perspective属性 236
18.9.5 perspective-origin属性 238
18.9.6 backface-visibility属性 241
18.10过渡属性 243
18.10.1 transition属性 243
18.10.2 transition-property属性 244
18.10.3 transition-duration属性 245
18.10.4 transition-timing-function属性 247
18.10.5 transition-delay属性 248
18.11动画属性 249
18.11.1 animation属性 250
18.11.2 animation-name属性 251
18.11.3 animation-duration属性 253
18.11.4 animation-timing-function属性 253
18.11.5 animation-delay属性 253
18.11.6 animation-iteration-count属性 254
18.11.7 animation-direction属性 254
18.11.8 animation-play-state属性 257
18.12渐变 259
18.12.1 linear-gradient 259
18.12.2 radial-gradient 261
18.12.3 repeating-linear-gradient 265
18.12.4 repeating-radial-gradient 266
18.13其他模块 268
18.13.1 Speech 268
18.13.2 Media queries 270
第19章 CSS3选择器 273
19.1属性选择器 273
19.2伪类选择器 274
19.2.1结构性伪类选择器 274
19.2.2 UI元素状态伪类选择器 284
19.2.3目标伪类选择器 286
19.2.4否定伪类选择器 287
19.3兄弟选择器 288
第20章 JavaScript基础 290
20.1 JavaScript起步 290
20.1.1 JavaScript简介 290
20.1.2 JavaScript的功能特性 290
20.1.3 JavaScript的使用 291
20.2注释 292
20.3变量 293
20.4运算符与表达式 295
20.5流程控制 298
20.5.1 if条件语句 299
20.5.2 switch语句 301
20.5.3 for循环语句 301
20.5.4 for…in语句 302
20.5.5 while语句和do-while语句 303
20.5.6 break语句和continue语句 304
20.6函数 305
20.6.1定义函数 306
20.6.2 return语句 306
20.6.3函数的调用 306
20.7消息对话框 309
20.8异常处理 311
20.8.1捕获异常(try-catch-finally) 311
20.8.2声明异常(throw) 311
20.9内置对象 312
20.9.1字符串内置对象方法 312
20.9.2布尔型内置对象方法 317
20.9.3数组内置对象方法 317
20.9.4数学内置对象方法 319
20.9.5日期内置对象方法 321
20.10校验 326
20.11 Cookie脚本 328
20.11.1 Cookie的属性 329
20.11.2 Cookie的存储、读取和删除 329
第21章 HTML5与CSS3范例 332
21.1垃圾收集箱 332
21.2拖放上传图片 335
21.3监控文件读取进度 337
21.4基于EasyWebSocket的实时聊天室 340
21.5图片墙 344
21.6幻灯片播放 349
21.7手风琴式垂直菜单 354