内容简介:
《HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用》详尽地讲解和分析了HTML5中的所有新特性和核心技术,能为有一定HTML基础的读者迅速提升HTML5开发技能提供绝佳指导。全书包含297个代码示例和16个快速参考索引,极具实战性和实用性。
《HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用》共16章:第1章介绍了HTML5文档的基本组成、全局结构、主体,以及新旧元素对比;第2章和第3章讲解了CSS的样式设置、框模型,以及CSS3的核心属性和新规则;第4章重点介绍了JavaScript的核心知识;第5章详细介绍了HTML5中的音频和视频特性,以及如何在HTML5中创建视频和音频;第6章讲解了HTML5中的各种表单(包含新增表达元素)及其新属性,以及表单API;第7章介绍了Canvas的特性及其使用,以及Canvas的API;第8章探讨了HTML5中的拖放操作及其API;第9章介绍了HTML5中的地理位置信息及其API;第10章讲解了HTML5中的各种Web存储技术,以及Web存储API;第11章阐述了索引数据库的具体操作、实现原理,以及它的API;第12章讲解了HTML5中的文件操作和文件系统,以及文件API;第13章介绍了HTML5中的Ajax、跨文档消息传递、Web套接字等通信技术的原理,以及它们的API;第14章讲解了HTML5中Web Workers的使用方法和实现原理,以及它的API;第15章和第16章介绍了HTML5中的历史接口和脱机功能,以及它们的API。
海报:
作者简介:
J.D. Gauchat,资深Web技术专家,对HTML5、CSS3、JavaScript和PHP等Web开发技术有非常深入的认识和理解,在该领域工作了10余年,经验十分丰富。他的这本著作被翻译成西班牙语等多种文字,而且他还在Web开发领域发表了大量有影响力的技术文章。此外,他还是一位企业家,致力于在世界范围内的市场中发现机遇。
目录:
译者序
前言
第1章 HTML5文档1
1.1 基本组成1
1.2 全局结构1
1.2.1 Doctype2
1.2.2 (html)2
1.2.3 (head)3
1.2.4 (body)3
1.2.5 (meta)4
1.2.6 (title)5
1.2.7 (link)5
1.3 正文结构6
1.3.1 组织7
1.3.2 (header)9
1.3.3 (nav)9
1.3.4 (section)10
1.3.5 (aside)11
1.3.6 (footer)12
1.4 深入正文13
1.4.1 (article)14
1.4.2 (hgroup)16
1.4.3 (figure)和(figcaption)18
1.5 新旧元素20
1.5.1 (mark)20
1.5.2 (small)20
1.5.3 (cite)21
1.5.4 (address)21
1.5.5 (time)21
1.6 快速参考—HTML5文档22
第2章 CSS样式设置与框模型24
2.1 CSS与HTML24
2.2 样式与结构24
2.2.1 块级元素25
2.2.2 框模型25
2.3 样式设置基础26
2.3.1 内联样式26
2.3.2 嵌入样式27
2.3.3 外部文件27
2.3.4 引用28
2.3.5 通过关键字引用28
2.3.6 通过id属性引用29
2.3.7 通过class属性引用29
2.3.8 通过任意属性引用30
2.3.9 通过伪类引用31
2.3.10 新选择器34
2.4 在模板上应用CSS35
2.5 传统框模型35
2.5.1 模板35
2.5.2 全局选择器*37
2.5.3 新的标题层次结构38
2.5.4 声明新的HTML5元素38
2.5.5 居中显示正文39
2.5.6 创建主框39
2.5.7 标头40
2.5.8 导航栏40
2.5.9 节与边栏41
2.5.10 页脚42
2.5.11 最后一步44
2.5.12 框尺寸44
2.6 弹性框模型45
2.7 理解弹性框模型52
2.7.1 display53
2.7.2 box-orient53
2.7.3 box-direction54
2.7.4 box-ordinal-group54
2.7.5 box-pack56
2.7.6 box-flex57
2.7.7 box-align60
2.8 快速参考—CSS样式设置与框模型61
2.8.1 弹性框模型61
2.8.2 伪类与选择器62
第3章 CSS3属性63
3.1 新规则63
3.1.1 强大的CSS363
3.1.2 模板63
3.1.3 圆角65
3.1.4 阴影效果66
3.1.5 文字阴影68
3.1.6 @font-face69
3.1.7 线性渐变70
3.1.8 放射渐变71
3.1.9 RGBA71
3.1.10 HSLA72
3.1.11 轮廓73
3.1.12 边框图像73
3.1.13 转换与转变74
3.1.14 一次实现全部转换77
3.1.15 动态转换78
3.1.16 过渡78
3.2 快速参考—CSS3属性79
第4章 JavaScript81
4.1 JavaScript相关性81
4.2 引入JavaScript81
4.2.1 内联脚本81
4.2.2 嵌入脚本 82
4.2.3 外部文件84
4.3 新选择器84
4.3.1 querySelector()85
4.3.2 querySelectorAll()85
4.4 事件处理程序86
4.4.1 内联事件处理程序87
4.4.2 在属性中添加事件处理程序87
4.4.3 addEventListener()方法87
4.5 API88
4.5.1 Canvas API89
4.5.2 拖放API89
4.5.3 地理位置API89
4.5.4 存储API89
4.5.5 文件API90
4.5.6 通信API90
4.5.7 Web Workers API90
4.5.8 历史API90
4.5.9 离线API91
4.6 外部库91
4.6.1 jQuery91
4.6.2 Google Maps91
4.7 快速参考—JavaScript92
4.7.1 元素92
4.7.2 选择器92
4.7.3 事件92
4.7.4 API92
第5章 视频与音频94
5.1 在HTML5中播放视频94
5.1.1 (video)元素95
5.1.2 (video)属性95
5.2 编程实现视频播放器96
5.2.1 设计96
5.2.2 编码98
5.2.3 事件98
5.2.4 方法99
5.2.5 属性100
5.2.6 实际代码100
5.3 视频格式103
5.4 在HTML5中播放音频103
5.5 编程实现音频播放器105
5.6 快速参考—视频与音频105
5.6.1 元素105
5.6.2 内嵌属性106
5.6.3 视频属性106
5.6.4 事件106
5.6.5 方法106
5.6.6 属性107
第6章 表单与表单API108
6.1 HTML网页表单108
6.1.1 (form)元素108
6.1.2 (input)元素109
6.1.3 电子邮件类型 109
6.1.4 搜索类型109
6.1.5 URL类型110
6.1.6 电话号码类型110
6.1.7 数字类型110
6.1.8 范围类型110
6.1.9 日期类型111
6.1.10 周类型111
6.1.11 月份类型111
6.1.12 时间类型111
6.1.13 日期与时间类型112
6.1.14 本地日期与时间类型112
6.1.15 颜色类型112
6.2 新属性112
6.2.1 placeholder属性113
6.2.2 required属性113
6.2.3 multiple属性113
6.2.4 autofocus属性113
6.2.5 pattern属性114
6.2.6 form属性114
6.3 新的表单元素114
6.3.1 (datalist)元素115
6.3.2 (progress)元素115
6.3.3 (meter)元素115
6.3.4 (output)元素115
6.4 表单API115
6.4.1 setCustomValidity()116
6.4.2 无效事件117
6.4.3 实时验证119
6.4.4 有效性约束121
6.4.5 willValidate122
6.5 快速参考—表单与表单API122
6.5.1 类型122
6.5.2 属性122
6.5.3 元素123
6.5.4 方法123
6.5.5 事件124
6.5.6 状态124
第7章 Canvas API125
7.1 准备Canvas125
7.1.1 (canvas)元素125
7.1.2 getContext()126
7.2 在Canvas上绘图126
7.2.1 绘制矩形126
7.2.2 颜色127
7.2.3 渐变128
7.2.4 创建路径129
7.2.5 线型134
7.2.6 文字135
7.2.7 阴影136
7.2.8 转换137
7.2.9 恢复状态139
7.2.10 globalCompositeOperation139
7.3 处理图像141
7.3.1 drawImage()141
7.3.2 图像数据142
7.3.3 图案144
7.4 在Canvas上实现动画145
7.5 在Canvas上处理视频146
7.6 快速参考—Canvas API148
7.6.1 方法149
7.6.2 属性151
第8章 拖放API152
8.1 Web拖放152
8.1.1 新的事件152
8.1.2 dataTransfer155
8.1.3 dragenter、dragleave与dragend156
8.1.4 选择有效的源157
8.1.5 setDragImage()158
8.1.6 文件160
8.2 快速参考—拖放API161
8.2.1 事件161
8.2.2 方法162
8.2.3 属性162
第9章 地理位置API163
9.1 定位163
9.1.1 getCurrentPosition(location)163
9.1.2 getCurrentPosition(location, error)165
9.1.3 getCurrentPosition(location, error, configuration)166
9.1.4 watchPosition(location, error, configuration)167
9.1.5 Google Maps实战168
9.2 快速参考—地理位置API169
9.2.1 方法169
9.2.2 对象170
第10章 Web存储API171
10.1 两个存储系统171
10.2 sessionStorage172
10.2.1 数据存储的实现172
10.2.2 创建数据173
10.2.3 读取数据174
10.2.4 删除数据175
10.3 localStorage176
10.3.1 storage事件177
10.3.2 存储空间178
10.4 快速参考—Web存储 API178
10.4.1 存储类型179
10.4.2 方法179
10.4.3 属性179
10.4.4 事件179
第11章 IndexedDB API180
11.1 底层API180
11.1.1 数据库180
11.1.2 对象和对象库181
11.1.3 索引181
11.1.4 事务182
11.1.5 对象库方法182
11.2 实现IndexedDB183
11.2.1 模板183
11.2.2 打开数据库184
11.2.3 数据库版本185
11.2.4 对象库和索引186
11.2.5 添加对象186
11.2.6 获取对象187
11.2.7 完成代码并测试188
11.3 列出数据188
11.3.1 游标188
11.3.2 修改顺序190
11.4 删除数据192
11.5 搜索数据192
11.6 快速参考—IndexedDB API195
11.6.1 环境接口(IDBEnvironment和IDBFactory)195
11.6.2 数据库接口(IDBDatabase)195
11.6.3 对象库接口(IDBObjectStore)196
11.6.4 游标接口(IDBCursor)196
11.6.5 事务接口(IDBTransaction)197
11.6.6 范围接口(IDBKeyRange-Constructors)197
11.6.7 错误接口(IDBDatabase-Exception)197
第12章 文件199
12.1 文件存储199
12.2 处理用户文件199
12.2.1 模板200
12.2.2 读取文件201
12.2.3 文件属性202
12.2.4 blob203
12.2.5 事件205
12.3 创建文件206
12.3.1 模板206
12.3.2 硬盘207
12.3.3 创建文件208
12.3.4 创建目录209
12.3.5 列出文件210
12.3.6 处理文件213
12.3.7 移动213
12.3.8 复制215
12.3.9 删除216
12.4 文件内容217
12.4.1 写入内容217
12.4.2 添加内容219
12.4.3 读取内容220
12.5 真实的文件系统221
12.6 快速参考—文件API225
12.6.1 Blob 接口(文件API)225
12.6.2 File接口(文件API)225
12.6.3 FileReader 接口(文件API)225
12.6.4 LocalFileSystem 接口(文件API:目录和系统)226
12.6.5 FileSystem 接口(文件API:目录和系统)226
12.6.6 Entry接口(文件API:目录和系统)226
12.6.7 DirectoryEntry接口(文件API:目录和系统)226
12.6.8 DirectoryReader 接口(文件API:目录和系统)227
12.6.9 FileEntry接口(文件API:目录和系统)227
12.6.10 BlobBuilder接口(文件API:写入器)227
12.6.11 FileWriter 接口(文件API:写入器)227
12.6.12 FileError 接口(文件API和扩展)228
第13章 通信API229
13.1 Ajax Level 2229
13.1.1 获取数据229
13.1.2 响应属性231
13.1.3 事件231
13.1.4 发送数据233
13.1.5 跨源请求235
13.1.6 上传文件 235
13.1.7 真实应用程序237
13.2 跨文档消息传递240
13.2.1 构造函数240
13.2.2 消息事件和属性240
13.2.3 发送消息241
13.2.4 筛选器和跨源243
13.3 Web套接字245
13.3.1 WS服务器的配置245
13.3.2 构造函数246
13.3.3 方法246
13.3.4 属性246
13.3.5 事件247
13.3.6 模板247
13.3.7 开始通信248
13.3.8 完整应用程序249
13.4 快速参考—通信API250
13.4.1 XMLHttpRequest Level 2250
13.4.2 Web消息传递API252
13.4.3 WebSocket API252
第14章 Web Workers API253
14.1 需要做的艰巨工作253
14.1.1 创建worker253
14.1.2 发送和接收消息253
14.1.3 检测错误256
14.1.4 终止worker257
14.1.5 同步API258
14.1.6 导入脚本259
14.1.7 共享worker 260
14.2 快速参考—Web Workers API263
14.2.1 worker263
14.2.2 专用worker264
14.2.3 共享worker264
第15章 历史API265
15.1 History 接口265
15.1.1 Web导航265
15.1.2 新增方法265
15.1.3 伪造URL266
15.1.4 跟踪268
15.1.5 实例269
15.2 快速参考—历史API272
第16章 脱机API273
16.1 缓存代码清单273
16.1.1 代码清单文件273
16.1.2 分类274
16.1.3 注释274
16.1.4 使用代码清单文件275
16.2 脱机API276
16.2.1 错误276
16.2.2 联机和脱机277
16.2.3 缓存过程278
16.2.4 进度280
16.2.5 更新缓存281
16.3 快速参考—脱机API283
16.3.1 代码清单文件283
16.3.2 属性283
16.3.3 事件284
16.3.4 方法284
结束语285