第1章 HTML5概述 1
1.1 HTML5的发展历程 1
1.1.1 HTML4兴起之路 1
1.1.2 XHTML曲折之路 2
1.1.3 HTML5的诞生 3
1.2 HTML5的基本特征 4
1.2.1 向前兼容性 4
1.2.2 跨平台运行性 5
1.2.3 简单易用性 5
1.2.4 用户友好性 6
1.3 HTML5的新功能 7
1.3.1 简化的DOCTYPE声明 7
1.3.2 简化的编码字符集 8
1.3.3 简化样式表和脚本引入 9
1.3.4 新增的全局属性 10
1.3.5 语义化标签之文档元素 13
1.3.6 语义化标签之文本元素 20
1.4 本章小结 26
第2章 旧貌换新颜——Html5 Web Form 27
2.1 Html5 Web Form概述 27
2.1.1 Html5 Web Form的设计理念 27
2.1.2 Html5 Web Form新在何处 28
2.1.3 Html5 Web Form的浏览器支持情况 30
2.2 Html5 Web Form的使用 31
2.2.1 表单容器的基本属性 31
2.2.2 表单结构的元素标签 38
2.2.3 保留的输入类型控件 52
2.2.4 新增的输入类型控件 57
2.2.5 新增的表单标签属性 66
2.2.6 表单验证机制 70
2.3 构建Html5 Web Form的开发实例 83
2.3.1 分析开发需求 83
2.3.2 搭建程序基本框架 83
2.3.3 页面的风格设计 86
2.3.4 构建实例表单验证机制 89
2.4 本章小结 97
第3章 影音急先锋——Html5 Audio and Video 98
3.1 Html5 Audio and Video概述 98
3.1.1 视频容器 99
3.1.2 编码器和解码器 100
3.1.3 Html5 Audio and Video的优势 101
3.1.4 Html5 Audio and Video的缺陷 101
3.1.5 Html5 Audio and Video的浏览器支持情况 102
3.2 Html5 Audio and Video的使用 103
3.2.1 检测浏览器的支持情况 103
3.2.2 多媒体元素标签及其简单属性 106
3.2.3 多媒体元素的source子标签及其属性 113
3.2.4 多媒体元素的事件控制 119
3.2.5 多媒体元素的网络状态 128
3.2.6 多媒体元素的就绪状态 138
3.2.7 多媒体元素的异常状态 146
3.2.8 多媒体元素的播放状态 148
3.2.9 多媒体元素的控制按钮 159
3.3 构建Html5 Audio and Video的开发实例 162
3.3.1 分析开发的需求 162
3.3.2 搭建程序显示框架 163
3.3.3 设计播放器控制栏样式 165
3.3.4 播放器的初始化 167
3.3.5 添加播放和暂停按钮 171
3.3.6 添加播放时间和进度控制条 173
3.3.7 添加静音按钮和音量调节滑动条 177
3.3.8 添加播放速率选择按钮和停止按钮 180
3.3.9 添加全屏按钮和关灯按钮 182
3.4 本章小结 185
第4章 璀璨的明珠—Html5 Web Canvas 186
4.1 Html5 Web Canvas概述 186
4.1.1 Html5 Web Canvas的发展历程 187
4.1.2 Html5 Web Canvas的优势和劣势 187
4.1.3 Html5 Web Canvas的浏览器支持情况 188
4.2 Html5 Web Canvas使用 189
4.2.1 检测浏览器支持情况 189
4.2.2 Canvas接口的属性和方法 190
4.2.3 画笔风格的设置 195
4.2.4 基本形状的绘制 209
4.2.5 图形图像的处理 220
4.2.6 Canvas文本的处理 232
4.2.7 Canvas图片的处理 239
4.3 构建Html5 Web Canvas的开发实例 243
4.3.1 分析开发需求 244
4.3.2 程序主框架的搭建 244
4.3.3 底部导航栏缩略图 245
4.3.4 底部导航栏翻页按钮 249
4.3.5 点击放大图片和翻页功能 255
4.3.6 缩略图预览显示 257
4.3.7 自动隐藏导航栏 258
4.4 本章小结 260
第5章 寻她千百度——Html5 Web Geolocation 262
5.1 Html5 Web Geolocation概述 262
5.1.1 地理位置信息 262
5.1.2 位置信息的来源 263
5.1.3 Html5 Web Geolocation用户隐私保护机制 265
5.1.4 Html5 Web Geolocation的浏览器支持情况 266
5.2 Html5 Web Geolocation的使用 266
5.2.1 检测浏览器支持情况 266
5.2.2 单次请求方式的基本方法 267
5.2.3 单次请求成功之后的回调方法 273
5.2.4 单次请求失败之后的回调方法 282
5.2.5 重复更新方式的基本方法 288
5.3 Google Maps的基本使用 292
5.3.1 引入Google Maps API 292
5.3.2 初始化地图显示 294
5.3.3 添加地图地标显示 299
5.3.4 添加地图信息窗口显示 303
5.4 构建Html5 Web Geolocation开发实例 306
5.4.1 分析开发的需求 306
5.4.2 搭建程序主框架 306
5.4.3 获取用户的地理位置信息 308
5.4.4 在Google地图上显示用户的地理位置 310
5.4.5 显示用户所在地的天气 313
5.5 本章小结 321
第6章 多管共齐下——Html5 Web Workers 322
6.1 Html5 Web Workers的概述 322
6.1.1 进程和线程 323
6.1.2 Html5 Web Workers的特点 323
6.1.3 Html5 Web Workers的工作原理 324
6.1.4 Html5 Web Workers的浏览器支持情况 325
6.2 Html5 Web Workers的使用 326
6.2.1 浏览器支持情况检测 326
6.2.2 在主线程建立专用线程 327
6.2.3 在主线程建立共享线程 337
6.2.4 通用子线程接口的方法和属性 342
6.2.5 专用子线程接口的方法和属性 354
6.2.6 共享子线程接口的方法和属性 355
6.3 构建Html5 Web Workers的开发实例 357
6.3.1 分析开发需求 357
6.3.2 表单数据收集页面 358
6.3.3 动态增加课程项目 361
6.3.4 程序的主线程 362
6.3.5 程序的子线程 364
6.4 本章小结 367
第7章 突起的异军——Html5 Web Socket 368
7.1 Html5 Web Socket的概述 368
7.1.1 服务器推送技术简介 368
7.1.2 基于客户端套接口的服务器推送技术 369
7.1.3 基于HTTP长连接的服务器推送技术 370
7.1.4 Html5 Web Socket的实现原理 372
7.1.5 Html5 Web Socket的浏览器和服务器支持情况 372
7.2 Html5 Web Socket的使用 373
7.2.1 浏览器支持情况检测 373
7.2.2 搭建Html5 Web Socket运行环境 374
7.2.3 服务器端编程之Server接口 378
7.2.4 服务器端编程之Connection接口 383
7.2.5 客户端编程WebSocket接口 390
7.3 构建Html5 Web Socket开发实例 396
7.3.1 分析开发需求 397
7.3.2 搭建程序主框架 397
7.3.3 编写服务器端脚本 400
7.3.4 实现用户登录和显示用户列表 401
7.3.5 实现发送消息和显示聊天记录 403
7.4 本章小结 406
第8章 存储更给力——Html5 Web Storage 407
8.1 Html5 Web Storage概述 407
8.1.1 Cookie本地存储 408
8.1.2 Web本地存储的发展 408
8.1.3 Html5 Web Storage本地存储的优势 410
8.1.4 Html5 Web Storage本地存储的不足 410
8.1.5 Html5 Web Storage本地存储的分类 411
8.1.6 Html5 Web Storage的浏览器支持情况 411
8.2 DOM Storage本地存储的使用 413
8.2.1 浏览器支持情况检测 413
8.2.2 Storage接口的使用 414
8.2.3 DOM Storage事件处理 429
8.2.4 JSON数据存储 439
8.3 DataBase Storage本地存储的使用 445
8.3.1 浏览器的支持情况检测 446
8.3.2 创建并打开本地数据库 446
8.3.3 Database接口的使用 448
8.3.4 本地数据库的基本操作 452
8.4 构建Html5 Web Storage的开发实例 460
8.4.1 分析开发需求 460
8.4.2 设计登录表单 461
8.4.3 存储表单数据 464
8.4.4 读取表单数据 465
8.5 本章小结 467
第9章 离线也疯狂——Html5 Web Offline 468
9.1 Html5 Web Offline概述 468
9.1.1 Google Gears离线应用 469
9.1.2 Html5 Web Offline和浏览器网页缓存 470
9.1.3 Html5 Web Offline的优点和缺点 470
9.1.4 Html5 Web Offline的浏览器支持情况 471
9.2 Html5 Web Offline的使用 472
9.2.1 浏览器支持情况检测 472
9.2.2 配置Html5 Web Offline的服务器环境 473
9.2.3 Manifest缓存清单文件 475
9.2.4 applicationCache接口的状态常量和事件属性 477
9.2.5 applicationCache接口的方法 491
9.3 构建Html5 Web Offline的开发实例 496
9.3.1 分析开发需求 496
9.3.2 搭建程序主框架 496
9.3.3 编写Manifest缓存清单 498
9.3.4 设计Javascript脚本 500
9.4 本章小结 503
第10章 十年磨一剑——cSS3概述 504
10.1 CSS3发展历程 504
10.1.1 CSS的兴起 504
10.1.2 CSS Level 2.1的发布 505
10.1.3 CSS Level 3的诞生 505
10.2 CSS3的新特性 507
10.2.1 强大的选择器 507
10.2.2 专业的UI设计 507
10.3 浏览器对CSS3的支持 509
10.3.1 私有属性带来的困扰 509
10.3.2 主流浏览器对CSS3的支持情况 510
10.4 本章小结 511
第11章 选择器畅想——CSS3 Selector 512
11.1 属性选择器 512
11.1.1 保留的属性选择器 513
11.1.2 新增的属性选择器 518
11.2 伪选择器 522
11.2.1 伪元素选择器 522
11.2.2 保留的伪类选择器 526
11.2.3 新增的结构性伪类选择器 530
11.2.4 新增的UI元素状态伪类选择器 544
11.3 本章小结 548
第12章 专业的视觉——CSS3 UI 549
12.1 边框和轮廓UI设计 549
12.1.1 边框属性的使用 549
12.1.2 轮廓属性的使用 554
12.2 文本和内容UI设计 556
12.2.1 文本属性的使用 556
12.2.2 内容属性的使用 562
12.3 渐变和背景UI设计 567
12.3.1 渐变方法的使用 567
12.3.2 背景属性的使用 572
12.4 本章小结 576
第13章 唯美的排列——CSS3 Layout 577
13.1 多列自动布局方式 577
13.1.1 多列自动布局的浏览器支持情况 577
13.1.2 多列自动布局的使用 578
13.2 弹性盒布局方式 589
13.2.1 弹性盒布局的浏览器支持情况 589
13.2.2 弹性盒布局的使用 590
13.3 本章小结 598
第14章 强劲的动画——CSS3 Animation 599
14.1 变形动画设计 599
14.1.1 变形动画设计的浏览器支持情况 599
14.1.2 变形动画设计的使用 600
14.2 过渡动画设计 607
14.2.1 过渡动画设计的浏览器支持情况 607
14.2.2 过渡动画设计的使用 608
14.3 高级动画设计 613
14.3.1 高级动画设计的浏览器支持情况 613
14.3.2 高级动画设计的使用 614
14.4 本章小结 617
第15章 沙场秋点兵——网上订餐系统 618
15.1 需求分析 618
15.1.1 项目背景 618
15.1.2 功能需求 619
15.2 概要设计 620
15.2.1 页面布局安排 620
15.2.2 主要技术 620
15.3 详细设计 621
15.3.1 页面头部模块 621
15.3.2 导航菜单模块 622
15.3.3 视频播放模块 627
15.3.4 地理位置服务模块 629
15.3.5 底部快捷通道模块 632
15.3.6 添加离线缓存 635
15.4 本章小结 636