第1章 利用HTML5制作网站 1
1.1大多数人不了解HTML5时代的网页设计 1
1.2 HTML5带来的网页结构、设计风格及理念的变化 3
1.2.1 HTML 4时代的几个特征 4
1.2.2一个典型的HTML5页面 4
1.2.3小结 6
1.3 HTML5带来的标签变化 6
1.3.1什么是标签 6
1.3.2标签的分类 7
1.3.3近十几年来的HTML 9
1.3.4 Web的变化趋势 9
1.4 HTML5带来的表单数据内容进化 9
1.4.1数据提交格式的变化 10
1.4.2数据提交范围的变化 11
1.4.3表单数据类型的增加 12
1.4.4表单属性和验证方式的进化 13
1.4.5文件上传控件和重复模型的应用 14
1.4.6小结 14
1.5 HTML5与SEO 15
1.5.1技术趋势 15
1.5.2搜索引擎服务商面临的问题 16
1.5.3 SEO从业人员面临的问题 17
1.5.4 SEO面临的几个社会问题 18
1.6 HTML5的开发环境与调试环境 18
1.6.1 HTML5编写工具 18
1.6.2 JavaScript开发 19
1.6.3 HTTP监控 19
1.6.4调试环境 20
1.7案例:HTML5网站建设 22
1.7.1需求的提出 22
1.7.2需求分析 22
1.7.3系统分析 22
1.7.4工程实现 23
1.7.5小结 27
第2章 用CSS3完善网站 28
2.1文字模块 29
2.1.1文字阴影:text-shadow 29
2.1.2文字溢出:text-overflow 30
2.1.3文字换行:word-wrap 30
2.2颜色模块 31
2.2.1透明度:opacity 31
2.2.2 HSL 33
2.2.3 HSLA和RGBA 33
2.3边框模块 34
2.3.1边框圆角:border-radius 34
2.3.2边框颜色:border-color 36
2.3.3边框图像:border-image 37
2.3.4盒阴影:box-shadow 40
2.4用户界面模块 41
2.4.1盒倒影:box-reflect 41
2.4.2盒大小:box-sizing 41
2.5背景模块 42
2.5.1背景渐变 42
2.5.2 background-origin 45
2.5.3 background-clip 46
2.5.4 background-size 47
2.5.5多背景 48
2.5.6遮罩 49
2.6动画模块 51
2.6.1 transform 51
2.6.2 transition 53
2.6.3 animation 55
2.7区域模块 57
2.7.1故事线 58
2.7.2区域样式 60
2.7.3内容形状和环绕 60
2.7.4小结 62
2.8选择器 62
2.8.1结构伪类 63
2.8.2否定伪类 65
2.8.3状态伪类 65
2.8.4目标伪类 66
2.8.5其他选择器 66
2.9其他模块 68
2.9.1多栏布局 68
2.9.2弹性盒子布局 68
2.9.3网络字体 69
2.9.4媒介查询 70
2.9.5滤镜效果 70
2.9.6着色器 70
2.10使用CSS3美化网站 72
2.10.1右上角文字 73
2.10.2下载盒子 74
2.10.3图片格子 74
2.10.4中间盒子 74
2.10.5左右盒子 75
2.10.6居中背景 76
2.10.7载入效果 76
2.10.8页脚 77
2.11小结 77
第3章 划时代的Web API 79
3.1传统Web模型与Web OS架构模型 79
3.2 Web API的概要介绍 81
3.3 Drag&Drop API 82
3.3.1以前的解决方案 82
3.3.2 Drag & Drop API的优点 83
3.3.3如何检测浏览器是否支持Drag&Drop API 83
3.3.4 Drag & Drop API的主要操作 84
3.3.5文件拖放上传实例 86
3.4 History API 87
3.4.1以前的解决方案 87
3.4.2现在的History API 87
3.5 Communication API 89
3.5.1以前解决跨源通信的方案 89
3.5.2 XMLHttpRequest Level 2 90
3.5.3 iframe和sandbox 91
3.5.4跨文档消息通信 92
3.6 Notification API 97
3.6.1如何检测浏览器是否支持Notification API 97
3.6.2 Web的Notification的状态 97
3.6.3让你的Web App带着Notification跑 97
3.7 audio标签和video标签 99
3.7.1 audio标签 100
3.7.2 video标签 102
3.8 Canvas API 108
3.8.1以前的同类解决方案 109
3.8.2 Canvas的优点 109
3.8.3检测浏览器是否支持Canvas 109
3.8.4 Canvas主要操作 109
3.9 WebSocket API 110
3.10 Web Worker API 111
3.11 Web Storage API 111
3.12 MicroData和语义网络 111
3.12.1 MicroData的常见属性 112
3.12.2 MicroData的例子 112
3.12.3 MicroData与SEO——人类需要有序的信息 113
3.12.4语义网络的基本概念 113
3.12.5语义测试工具 114
3.13通用Base64方法 114
3.13.1编码 114
3.13.2解码 115
3.13.3应用 115
3.14 Web Database API 117
3.14.1 Web SQL API 117
3.14.2 Indexed DB API 121
3.15WebGL 124
3.16 Device API系列 125
3.16.1 Geolocation API 125
3.16.2 File API 128
3.16.3 FileWriter API 132
3.16.4 Media Capture API 132
3.16.5 Contact API 133
3.16.6 System Information API 134
3.16.7 Calendar API 137
3.16.8 Messaging API 137
3.17小结 138
第4章 Canvas 2D 139
4.1什么是Canvas 139
4.2 Canvas 2D原理 140
4.2.1坐标系统说明 141
4.2.2属性说明 142
4.3绘制 143
4.3.1各类线条 143
4.3.2矩形 151
4.3.3三角形 152
4.3.4圆与扇形 153
4.3.5图片 155
4.3.6文字 158
4.4特效 160
4.4.1渐变 160
4.4.2阴影与透明 162
4.5基础操作中比较复杂的部分 162
4.5.1保存和恢复 163
4.5.2坐标转换 163
4.5.3旋转 164
4.5.4缩放 164
4.5.5变形 164
4.5.6组合 166
4.5.7裁剪 167
4.5.8像素操作 170
4.6动画 172
4.6.1左右运动 172
4.6.2上下运动 173
4.6.3圆心旋转运动 174
4.6.4抛物线运动 175
4.6.5渐变运动 175
4.7事件感应 176
4.8关于Canvas的一些经验 177
4.8.1回答两个问题 177
4.8.2避开浮点运算 178
4.8.3资源载入与双缓冲问题 178
4.8.4图片抗锯齿的原理及办法 179
4.8.5粒子系统的使用 181
4.9 Web开发复古流 181
4.10小结 182
第5章 HTML5和移动互联网开发 183
5.1移动互联网的现状与需求 183
5.1.1市场容量 184
5.1.2移动设备的特点 184
5.1.3移动设备的现状 185
5.1.4开发者生态圈 185
5.1.5可供选择的移动互联网开发平台 185
5.2 HTML5在移动互联网上的开发示例 187
5.2.1一个HTML5开发者的基本配置 187
5.2.2欧朋浏览器H5版介绍 188
5.2.3重力传感设备 191
5.2.4电子罗盘开发 199
5.2.5 Geolocation与LBS应用开发 203
5.2.6网页摄像与网络相册 207
5.2.7移动设备中的离线存储 214
5.3小结 215
第6章WebSocket开发应用 216
6.1 WebSocket的那些事儿 216
6.1.1 WebSocket的技术背景 217
6.1.2 WebSocket的定义 218
6.1.3 WebSocket通信模式解析 219
6.1.4 WebSocket检测浏览器支持代码 220
6.2 WebSocket API的内容 220
6.2.1属性 220
6.2.2 URL 221
6.2.3事件 221
6.3客户端样例程序 222
6.4服务器端样例程序 222
6.5 Ajax、长轮询、Comet之间的那些事儿 223
6.5.1 Ajax 223
6.5.2长轮询 225
6.5.3 Comet 226
6.5.4 Ajax与WebSocket的多角度对比 227
6.6与WebSocket相关的几个概念 227
6.6.1 SSJS 228
6.6.2 Node.js 228
6.7开发基于WebSocket的通信示例 235
6.7.1聊天室 235
6.7.2服务器监控 239
6.7.3联机作图 243
6.8免费的WebSocket资源 247
6.9小结 248
第7章 瘦服务器战略与云 249
7.1战略观察与未来10年的思考 249
7.1.1 Web瘦服务器战略 249
7.1.2云 253
7.1.3计算能的思考 254
7.2 Web Storage 255
7.2.1 Web Storage的概念 255
7.2.2 localstorage介绍与示例 255
7.2.3 sessionStorage的介绍与示例 258
7.2.4浏览器端存储的方案和局限性 260
7.3离线应用 265
7.3.1判断浏览器是否在线 266
7.3.2离线应用的属性与方法 266
7.3.3 manifest文件 267
7.4 Web Worker 269
7.4.1 Worker 270
7.4.2 Shared Worker 273
7.4.3 Web Worker小结 275
7.5一个云记事本的案例 276
7.5.1客户端逻辑分析 276
7.5.2客户端的实现 277
7.5.3工程实现的联想 279
7.6小结 279
附录A HTML5标签、事件属性及其相关网站 281
附录B 审慎对待各种框架 287
附录C 统一开发常用交流术语 289
附录D WebGL 294
附录E CSS3模块列表 299