第1部分 HTML5及其应用 2
第1章 HTML5概述 2
1.1 HTML5简介 2
1.1.1 HTML 2
1.1.2 HTML5 3
1.2 HTML5与HTML4的区别 4
1.2.1 HTML5文档结构的变化 4
1.2.2 HTML5语法的变化 5
1.2.3 HTML5增加和删除的元素 6
1.2.4 HTML5的全局属性 8
1.3 HTML5的特性 10
1.4 HTML5的开发环境 11
1.4.1 HTML5的开发工具简介 11
1.4.2 WebStorm集成开发环境 12
1.4.3 使用XAMPP搭建服务器环境 13
1.4.4 支持HTML5的浏览器和帮助文档 15
思考与练习 16
第2章 HTML5的文档结构元素 17
2.1 HTML的元素和属性 17
2.2 HTML文档的基本结构元素 19
2.3 HTML5新增的结构元素 20
2.3.1 用DIV描述的网页布局 20
2.3.2 HTML5增加的结构元素 21
思考与练习 28
第3章 HTML5的基本页面元素 29
3.1 文本元素 29
3.1.1 段落标记<p>和换行标记<br/> 29
3.1.2 标题标记<hn> 30
3.1.3 块标记<div>和<span> 31
3.2 列表元素 31
3.2.1 有序列表标记<ol> 32
3.2.2 无序列表标记<ul> 33
3.2.3 自定义列表<dl> 34
3.3 超链接元素 35
3.3.1 超链接属性 35
3.3.2 超链接类型 36
3.3.3 超链接路径 37
3.4 图像元素和多媒体元素 39
3.4.1 图像标记<img> 39
3.4.2 多媒体文件标记<embed> 42
3.5 表格元素 44
3.5.1 HTML的表格标记 44
3.5.2 HTML表格的属性 46
3.5.3 表格嵌套 48
3.6 内嵌框架 50
3.7 页面基本元素的应用 53
3.7.1 多层嵌套列表示例 53
3.7.2 旅游网站首页示例 54
3.7.3 内嵌框架示例 56
思考与练习 58
第4章 HTML5的表单元素 60
4.1 表单定义元素form 60
4.2 HTML表单输入元素及属性 61
4.2.1 表单输入元素input 61
4.2.2 列表框元素select 64
4.2.3 文本域输入元素textarea 65
4.3 HTML5新增的表单元素和属性 66
4.3.1 HTML5新增input类型 66
4.3.2 HTML5表单新增属性 69
4.4 一个会员注册表单 72
思考与练习 75
第5章 HTML5的video元素和audio元素 77
5.1 HTML5的video元素 77
5.1.1 使用video标记插入视频 77
5.1.2 video元素的访问控制 79
5.2 HTML5的audio元素 83
5.2.1 使用audio标记插入音频 83
5.2.2 audio元素的访问控制 84
5.3 使用track元素添加字幕 85
5.3.1 使用track标记插入字幕文件 85
5.3.2 建立WebVTT文件 86
思考与练习 89
第6章 HTML5的canvas绘图 90
6.1 canvas概述 90
6.1.1 创建canvas元素 90
6.1.2 canvas绘图的步骤 91
6.2 绘制矩形 92
6.2.1 绘制矩形的方法 92
6.2.2 绘图时的颜色与透明度属性 93
6.3 使用路径绘制图形 96
6.3.1 绘制圆形 96
6.3.2 绘制直线 98
6.3.3 绘制曲线 101
6.4 绘制颜色渐变的图形 102
6.4.1 绘制线性渐变 102
6.4.2 绘制径向渐变 104
6.5 使用坐标变换和矩阵变换绘图 105
6.5.1 canvas的坐标系统 105
6.5.2 坐标变换 105
6.5.3 使用路径绘制图形的坐标变换 106
6.5.4 矩阵变换 107
6.6 在canvas中使用图像 110
6.6.1 绘制图像 110
6.6.2 图像平铺 112
6.6.3 图像裁剪 113
6.7 绘制文字 115
6.8 使用canvas绘制动画 116
6.8.1 绘制动画的步骤 116
6.8.2 绘制动画的示例 116
思考与练习 121
第7章 HTML5的SVG绘图 123
7.1 SVG概述 123
7.1.1 SVG优缺点 123
7.1.2 SVG调用方式 124
7.2 绘制SVG基本图形 126
7.2.1 绘制矩形和直线 126
7.2.2 绘制圆和椭圆 127
7.2.3 绘制折线和多边形 127
7.2.4 绘制路径 128
7.2.5 绘制文本和图形 128
7.2.6 SVG绘图的属性 130
7.3 变换 132
7.3.1 平移 132
7.3.2 旋转 132
7.3.3 缩放 132
7.3.4 倾斜 132
7.4 组合与重用 133
7.4.1 g元素 133
7.4.2 use元素 134
7.4.3 defs元素 135
7.5 渐变与透明度 136
7.5.1 渐变 136
7.5.2 透明度 141
7.6 滤镜 142
7.6.1 滤镜的定义 142
7.6.2 滤镜的应用 143
思考与练习 145
第8章 获取浏览器的地理位置信息 147
8.1 地理位置信息概述 147
8.1.1 地理位置信息的内容 147
8.1.2 地理位置信息的来源 148
8.2 地理位置信息使用过程 148
8.3 地理位置API 149
8.3.1 getCurrentPosition()方法 149
8.3.2 watchPosition()方法 150
8.4 获取地理位置信息的应用 150
思考与练习 156
第9章 离线Web应用与Web存储 158
9.1 离线Web应用 158
9.1.1 离线Web应用概述 158
9.1.2 实现离线Web应用的步骤 159
9.2 离线Web应用的实现 159
9.2.1 manifest文件 160
9.2.2 更新缓存 163
9.2.3 检测在线状态 164
9.3 Web Storage概述 165
9.3.1 Web Storage的概念 165
9.3.2 Web Storage API 166
9.4 Web Storage应用 167
9.4.1 使用localStorage和sessionStorage的网页计数器 167
9.4.2 使用localStorage保存、读取和清除数据 168
9.4.3 使用localStorage实现电话簿管理 169
9.4.4 使用JSON对象改进电话簿的功能 171
思考与练习 174
第10章 使用Web Workers处理线程 175
10.1 Web Workers概述 175
10.1.1 Web Workers的引入 175
10.1.2 使用Web Workers创建线程 177
10.2 页面与线程的数据交互 179
10.3 使用SharedWorker创建共享线程 181
思考与练习 186
第11章 HTML5的IndexedDB数据库 187
11.1 IndexedDB数据库概述 187
11.2 创建数据库 188
11.3 数据库的版本更新和事务处理 190
11.3.1 版本更新 191
11.3.2 事务处理 192
11.4 创建对象仓库 193
11.5 创建索引 194
11.6 保存和删除数据 196
11.6.1 保存数据 196
11.6.2 检索数据 198
11.6.3 删除数据 201
11.7 使用游标检索批量数据 202
11.7.1 openCursor()方法及其参数 202
11.7.2 数据遍历 203
思考与练习 206
第12章 HTML5的文件操作与拖放操作 207
12.1 file对象和FileList对象 207
12.1.1 file对象 207
12.1.2 FileList对象 208
12.2 ArrayBuffer对象与ArrayBufferView对象 209
12.2.1 ArrayBuffer和ArrayBufferView概念 209
12.2.2 ArrayBuffer对象 210
12.2.3 ArrayBufferView对象 210
12.2.4 DataView对象 212
12.3 Blob对象 213
12.3.1 使用Blob对象获取文件大小和类型 213
12.3.2 通过slice()方法分割文件 216
12.4 FileReader接口 217
12.4.1 FileReader接口的方法 217
12.4.2 FileReader接口的事件 218
12.4.3 FileReader接口的应用 218
12.5 拖放API 221
12.5.1 拖放API简介 222
12.5.2 拖放的实现过程 222
12.6 DataTransfer对象的属性与方法 224
12.6.1 DataTransfer对象的属性及拖放视觉效果 224
12.6.2 DataTransfer对象的方法 225
12.7 拖放的应用 227
12.7.1 拖动网页元素 227
12.7.2 拖动上传图片 229
思考与练习 231
第2部分 CSS3及其应用 233
第13章 CSS3的选择器 233
13.1 CSS3概述 233
13.1.1 CSS3简介 233
13.1.2 CSS的一个示例 234
13.2 CSS的基本选择器 237
13.2.1 标记选择器 238
13.2.2 类选择器 238
13.2.3 ID选择器 239
13.3 在HTML中使用CSS的方法 241
13.3.1 行内样式 241
13.3.2 嵌入样式 241
13.3.3 链接样式 242
13.3.4 导入样式 243
13.3.5 样式的优先级 244
13.4 CSS复合选择器 247
13.4.1 交集选择器 247
13.4.2 并集选择器 248
13.4.3 后代选择器 249
13.4.4 子选择器 251
13.4.5 相邻选择器 251
13.5 CSS3新增的选择器 252
13.5.1 属性选择器 253
13.5.2 伪类选择器 254
13.5.3 伪元素选择器 259
13.6 使用CSS设计网站页面 261
思考与练习 266
第14章 使用CSS3设置元素样式 267
14.1 用CSS3设置文本样式 267
14.1.1 字体属性 267
14.1.2 文本属性 270
14.2 用CSS3设置颜色与背景 275
14.2.1 颜色设置 275
14.2.2 背景设置 276
14.2.3 圆角边框和图像边框 278
14.3 用CSS3设置图像效果 280
14.3.1 为图片添加边框 280
14.3.2 图片缩放 282
14.3.3 图文混排 284
14.4 用CSS3美化页面的应用 286
14.4.1 用CSS样式美化表单 286
14.4.2 设置图形项目符号 288
思考与练习 289
第15章 CSS3的盒模型及网页布局 291
15.1 CSS盒模型 291
15.1.1 盒模型的组成 291
15.1.2 盒的类型 296
15.1.3 CSS3新增的与盒相关的属性 298
15.2 CSS布局常用属性 303
15.2.1 定位属性 303
15.2.2 浮动属性 307
15.3 CSS的网页布局 309
15.3.1 单列布局 309
15.3.2 两列布局 311
15.3.3 使用CSS3盒布局的三列布局 315
15.4 DIV+CSS布局的应用 318
15.4.1 图文混排的实现 318
15.4.2 制作二级导航菜单 322
思考与练习 328
第16章 CSS3的响应式布局 329
16.1 响应式布局简介 329
16.1.1 媒体查询模块 329
16.1.2 Media Queries的应用示例 332
16.2 使用Bootstrap实现响应式布局 336
16.2.1 Bootstrap框架简介 336
16.2.2 Bootstrap框架中的各种元素 338
16.2.3 应用Bootstrap框架构建的网页 343
思考与练习 347
第3部分 综合案例 349
第17章 综合案例1——在线旅游网站的设计与实现 349
17.1 使用HTML 5结构元素组织网页 349
17.1.1 网页结构描述 349
17.1.2 用CSS 3定义网站全局样式 351
17.2 页头部分的设计 352
17.2.1 页头的结构描述 352
17.2.2 页头元素及CSS样式代码分析 353
17.3 侧边导航和焦点图的设计 355
17.3.1 侧边导航和焦点图板块的内容 355
17.3.2 侧边导航和焦点图板块的代码分析 356
17.4 快速搜索、滑动Tab和在线咨询板块设计 361
17.4.1 快速搜索、滑动Tab和在线咨询板块的内容 361
17.4.2 快速搜索板块的代码分析 361
17.4.3 滑动Tab板块的代码分析 364
17.4.4 在线咨询板块的代码分析 366
17.5 特色线路板块的设计 368
17.5.1 特色线路板块的内容 368
17.5.2 特色线路板块的代码分析 369
17.6 页脚的设计 371
17.6.1 页脚的结构描述 371
17.6.2 页脚的代码分析 372
思考与练习 374
第18章 综合案例2——订单管理网站的设计与实现 376
18.1 案例功能描述 376
18.2 用户登录注册模块设计 378
18.2.1 页面结构代码分析 378
18.2.2 CSS代码分析 379
18.2.3 JavaScript代码分析 380
18.3 订单管理模块设计 383
18.3.1 页面结构代码分析 383
18.3.2 CSS代码分析 385
18.3.3 JavaScript代码分析 387
18.4 客户管理模块设计 393
18.4.1 页面结构代码和CSS代码分析 394
18.4.2 JavaScript代码分析 395
思考与练习 396
附录 HTML标记列表 398
参考文献 402