第1章 HTML5和CSS3概述 1
1.1 强大的Web开发平台 1
1.1.1 向后兼容 1
1.1.2 更具描述性的标记 2
1.1.3 更加简化 2
1.1.4 用户界面增强 2
1.1.5 更好的表单控件 3
1.1.6 可访问性增强 3
1.1.7 更高级的选择器 4
1.1.8 视觉效果 4
1.1.9 更少依赖插件的多媒体功能实现 4
1.1.10 应用能力增强 4
1.1.11 跨文档通信 4
1.1.12 Web Sockets 4
1.1.13 客户端存储 5
1.2 注定充满挑战的未来之路 5
1.2.1 处理老版本的IE 5
1.2.2 可访问性 5
1.2.3 废弃的标签 6
1.2.4 市场利益的激烈竞争 7
1.2.5 HTML5和CSS3的标准仍在不断发展中 7
第一部分 用户界面增强
第2章 新的结构化标签和属性 10
2.1 实例1:用语义标记重新定义博客 11
2.1.1 一切皆始于正确的文档类型 13
2.1.2 页眉标签 13
2.1.3 页脚标签 14
2.1.4 导航标签 14
2.1.5 区块和文章 15
2.1.6 旁白与侧边栏 16
2.1.7 为博客设置样式 18
2.1.8 回退方案 20
2.2 实例2:用<meter>元素实现进度条 21
2.2.1 回退方案 22
2.2.2 进度条标签 24
2.3 实例3:用自定义数据属性构造弹出窗体 25
2.3.1 行为与内容分离,以及
onclick()的问题 25
2.3.2 增强可访问性 25
2.3.3 不用onclick() 26
2.3.4 引入自定义数据属性 27
2.3.5 回退方案 27
2.4 实例4:常见问题描述列表 28
2.5 未来展望 29
第3章 创建友好的Web表单 30
3.1 实例5:使用新的输入字段描述数据 31
3.1.1 表单描述 32
3.1.2 使用范围字段创建滑动条 33
3.1.3 使用选值框处理数值 33
3.1.4 日期选择字段 34
3.1.5 电子邮件字段 34
3.1.6 URL字段 35
3.1.7 颜色选择字段 35
3.1.8 给表单设置样式 36
3.1.9 回退方案 36
3.2 实例6:借助autofocus跳到表单第一个字段 41
3.3 实例7:通过占位文本提供提示信息 41
3.4 实例8:不借助JavaScript验证用户输入 45
3.4.1 正则表达式验证 46
3.4.2 为字段添加样式 47
3.4.3 回退方案 48
3.5 实例9:通过contenteditable属性实现就地编辑功能 49
3.5.1 用户资料表单 50
3.5.2 数据持久化 51
3.5.3 回退方案 52
3.6 未来展望 55
第4章 设置内容及界面的样式 57
4.1 实例10:使用伪类设置表格样式 58
4.1.1 使用:nth-of-type给表格行设置条纹 60
4.1.2 使用:nth-child对齐表格列的内容 61
4.1.3 使用:last-child加粗表格最后一行 62
4.1.4 使用:nth-last-child反向遍历元素 63
4.1.5 回退方案 64
4.2 实例11:使用:after和content生成打印友好的链接 65
4.2.1 创建只适用于打印的样式表 66
4.2.2 双冒号语法 67
4.3 实例12:使用媒体查询构建移动页面 67
4.4 实例13:创建多栏布局 70
4.4.1 拆分栏 70
4.4.2 特定厂商的前缀 73
4.4.3 回退方案 74
4.5 未来展望 75
第5章 构建可访问性界面 76
5.1 实例14:使用ARIA role属性提供导航提示 77
5.1.1 地标角色 78
5.1.2 文档结构角色 80
5.1.3 回退方案 80
5.2 实例15:创建访问性良好的可更新区域 81
5.2.1 创建页面 82
5.2.2 隐藏内容区域 85
5.2.3 回退方案 86
5.3 实例16:提升表格的可访问性 86
5.3.1 把标题与列结合起来 88
5.3.2 用题注和描述解释表格 89
5.4 未来展望 90
第二部分 新视角、新声音
第6章 在浏览器中画图 92
6.1 实例17:在画布上绘制商标 92
6.1.1 绘制线条 95
6.1.2 添加“AwesomeCo”文本信息 96
6.1.3 移动原点坐标 97
6.1.4 为对象设置渐变效果 98
6.1.5 回退方案 98
6.2 实例18:使用RGraph实现图表统计 99
6.2.1 使用HTML描述数据 100
6.2.2 将HTML描述内容转换成柱状图 102
6.2.3 显示替代内容 103
6.2.4 回退方案 103
6.3 实例19:使用SVG绘制矢量图形 104
6.3.1 绘制线条 105
6.3.2 添加文本信息 105
6.3.3 绘制形状 106
6.3.4 通过路径进行手工绘制 106
6.3.5 回退方案 107
6.4 未来展望 108
第7章 嵌入音频和视频 109
7.1 历史回顾 109
7.2 容器与编解码器 110
7.2.1 视频编解码器 110
7.2.2 音频编解码器 112
7.2.3 容器与编解码器协同工作 113
7.3 实例20:音频特性 113
7.3.1 创建基本的音频列表 113
7.3.2 回退方案 115
7.4 实例21:嵌入视频 117
7.5 实例22:视频播放的可访问性 121
7.5.1 添加字幕 122
7.5.2 HTML5视频技术的局限性 123
7.6 未来展望 124
第8章 视觉特效 125
8.1 实例23:设置圆角 126
8.1.1 柔化登录表单 126
8.1.2 回退方案 128
8.2 实例24:阴影、渐变及转换 129
8.2.1 基本结构 130
8.2.2 添加渐进效果 131
8.2.3 添加阴影效果 132
8.2.4 旋转姓名牌 133
8.2.5 使用矩阵精确转换 134
8.2.6 透明背景 134
8.2.7 回退方案 135
8.3 实例25:设置字体 136
8.3.1 @font-face 137
8.3.2 字体格式 137
8.3.3 改变字体 137
8.3.4 回退方案 139
8.4 实例26:通过过渡和动画特性移动物体 140
8.4.1 使用CSS过渡特性实现淡入淡出效果 140
8.4.2 理解调速函数 141
8.4.3 创建过渡特效 143
8.4.4 利用CSS3动画特性实现表单晃动效果 144
8.4.5 回退方案 147
8.5 未来展望 149
第三部分 标记之外
第9章 客户端数据储存 152
9.1 实例27:用Web Storage存储偏好设置 153
9.1.1 创建偏好设置表单 154
9.1.2 保存及恢复偏好设置数据 155
9.1.3 为页面应用偏好设置值 156
9.1.4 回退方案 157
9.2 实例28:使用IndexedDB将数据存储到客户端数据库中 158
9.2.1 注意事项界面 158
9.2.2 创建并连接数据库 160
9.2.3 创建注意事项表 162
9.2.4 加载注意事项 162
9.2.5 读取特定记录 164
9.2.6 创建、更新以及删除记录 165
9.2.7 回退方案 169
9.3 实例29:离线应用 170
9.3.1 通过manifest文件定义应用程序缓存 170
9.3.2 manifest文件与服务器端缓存设置 172
9.3.3 检测网络连通性 172
9.4 未来展望 173
第10章 创建交互式Web应用 174
10.1 实例30:保存历史记录 174
10.1.1 存储当前状态 175
10.1.2 恢复上一状态 176
10.1.3 设置默认状态 176
10.1.4 回退方案 177
10.2 实例31:跨域通信 178
10.2.1 联系人列表 179
10.2.2 发送消息 181
10.2.3 支持网站 181
10.2.4 接收消息 183
10.2.5 IE 8及IE 9中的限制 183
10.3 实例32:WebSocket聊天 184
10.3.1 聊天界面 184
10.3.2 与聊天服务器的通信 186
10.3.3 回退方案 188
10.3.4 Flash Socket策略文件 189
10.4 实例33:你在哪儿:Geolocation 190
10.4.1 为AwesomeCo公司开发定位功能 191
10.4.2 如何被找到 192
10.4.3 回退方案 192
10.5 实例34:通过拖放来整理内容 194
10.5.1 创建基本用户界面 194
10.5.2 添加卡片到界面 195
10.5.3 整理卡片 196
10.5.4 回退方案 199
10.6 未来展望 200
第11章 未来之路 202
11.1 使用弹性盒子模型定义布局 202
11.2 跨域资源共享 205
11.3 Web Workers 205
11.4 服务器发送事件 210
11.4.1 监听事件 210
11.4.2 实现你自己的服务器 212
11.5 滤镜效果 212
11.6 WebGL 213
11.7 前进! 214
附录A 快速参考 215
附录B jQuery快速入门 220
附录C 针对Web的音频和视频编码 229
附录D 相关资源 231
参考文献 233
· · · · · · (
收起)