第一篇 基础知识篇
第1章 HTML5开发前奏
1.1 为什么选择HTML5语言
1.2 HTML发展历程
1.3 谁在开发HTML5
1.4 HTML5的新认识
1.4.1 兼容性
1.4.2 实用性和用户优先
1.4.3 化繁为简
1.5 无插件范式
1.6 探秘——HTML5新特性
1.7 HTML的标记构成
1.7.1 HTML标记的使用技巧
1.7.2 开始标记<html>
1.7.3 头部标记<head>
1.7.4 标题标记<title>
1.7.5 主体标记<body>
1.7.6 编写文件时的注意事项
1.8 编写第一个HTML文件
1.8.1 HTML文件的编写方法
1.8.2 手工编写页面
1.8.3 使用可视化软件制作页面
1.8.4 使用浏览器浏览HTML文件
1.8.5 明日图书网使用HTML开发
1.9 小结
1.10 习题
第2章 HTML5带来的标记变化
2.1 重中之重——头部标记
2.2 名称所在——标题<title>
2.3 隐藏很深——元信息标记<meta>
2.3.1 页面关键字
2.3.2 页面描述
2.3.3 编辑工具
2.3.4 作者信息设置
2.3.5 限制搜索方式
2.3.6 网页文字及语言
2.3.7 定时跳转页面
2.3.8 有效期的设置
2.3.9 禁止从缓存中调用
2.3.10 删除过期的cookie
2.3.11 强制打开新窗口
2.3.12 网页的过渡效果设置
2.4 基底网址标记<base>
2.5 容量瓶——页面的主体标记<body>
2.5.1 彩色字体——text
2.5.2 背景颜色属性——bgcolor
2.5.3 背景图像属性——background
2.5.4 链接文字属性——link
2.5.5 边距——margin
2.6 程序员的备忘录——注释<!---->
2.7 上机实践
2.7.1 创建基本的HTML网页
2.7.2 设定自动刷新
2.8 小结
2.9 习题
第一篇 基础知识篇
第1章 HTML5开发前奏
1.1 为什么选择HTML5语言
1.2 HTML发展历程
1.3 谁在开发HTML5
1.4 HTML5的新认识
1.4.1 兼容性
1.4.2 实用性和用户优先
1.4.3 化繁为简
1.5 无插件范式
1.6 探秘——HTML5新特性
1.7 HTML的标记构成
1.7.1 HTML标记的使用技巧
1.7.2 开始标记<html>
1.7.3 头部标记<head>
1.7.4 标题标记<title>
1.7.5 主体标记<body>
1.7.6 编写文件时的注意事项
1.8 编写第一个HTML文件
1.8.1 HTML文件的编写方法
1.8.2 手工编写页面
1.8.3 使用可视化软件制作页面
1.8.4 使用浏览器浏览HTML文件
1.8.5 明日图书网使用HTML开发
1.9 小结
1.10 习题
第2章 HTML5带来的标记变化
2.1 重中之重——头部标记
2.2 名称所在——标题<title>
2.3 隐藏很深——元信息标记<meta>
2.3.1 页面关键字
2.3.2 页面描述
2.3.3 编辑工具
2.3.4 作者信息设置
2.3.5 限制搜索方式
2.3.6 网页文字及语言
2.3.7 定时跳转页面
2.3.8 有效期的设置
2.3.9 禁止从缓存中调用
2.3.10 删除过期的cookie
2.3.11 强制打开新窗口
2.3.12 网页的过渡效果设置
2.4 基底网址标记<base>
2.5 容量瓶——页面的主体标记<body>
2.5.1 彩色字体——text
2.5.2 背景颜色属性——bgcolor
2.5.3 背景图像属性——background
2.5.4 链接文字属性——link
2.5.5 边距——margin
2.6 程序员的备忘录——注释<!---->
2.7 上机实践
2.7.1 创建基本的HTML网页
2.7.2 设定自动刷新
2.8 小结
2.9 习题
第3章 HTML5网页的基本要素
3.1 从小到大——标题文字
3.1.1 标题字标记<H>
3.1.2 标题文字的对齐方式——align
3.2 变化万千——文字格式
3.2.1 文字字体——face
3.2.2 字号——size
3.2.3 文字颜色——color
3.2.4 粗体、斜体、下划线——strong、em、u
3.2.5 上标与下标——sup、sub
3.2.6 删除线——strike
3.2.7 等宽文字标记——code
3.2.8 空格—— 
3.2.9 其他特殊符号
3.3 享有独立——段落格式
3.3.1 实现段落——p
3.3.2 取消文字换行标记——nobr
3.3.3 换行标记——br
3.3.4 保留原始排版方式标记——pre
3.3.5 使文字水平居中——center
3.3.6 文字段落的缩进——blockquote
3.4 从头到尾——水平线标记
3.4.1 添加水平线——hr
3.4.2 水平线宽度与高度属性——width、height
3.4.3 水平线的颜色——color
3.4.4 水平线的对齐方式——align
3.4.5 去掉水平线阴影——noshade
3.5 其他文字标记
3.5.1 文字标注标记——ruby
3.5.2 声明变量标记——var
3.5.3 忽视HTML标签标记——plaintext、xmp
3.6 上机实践
3.6.1 设置地址文字标记<address>
3.6.2 基字标记<basefont>
3.6.3 在文字上方标注说明标记<rt>
3.7 小结
3.8 习题
第4章 让珍珠串起来——列表
4.1 有条不紊——列表标记
4.2 欠缺规范——无序列表
4.2.1 无序列表标记——ul
4.2.2 无序列表的类型——type
4.3 井井有条——有序列表
4.3.1 有序列表标记——ol
4.3.2 有序列表的类型——type
4.3.3 有序列表的起始数值——start
4.4 定义列表标记——dl
4.5 菜单列表标记——menu
4.6 目录列表——dir
4.7 一层又一层——嵌套列表
4.7.1 定义列表的嵌套
4.7.2 无序列表和有序列表的嵌套
4.8 上机实践
4.8.1 列表之间的嵌套
4.8.2 定义列表的使用
4.8.3 ol列表的使用
4.9 小结
4.10 习题
第5章 在迷宫中寻找出口——超链接
5.1 超链接
5.2 关于路径
5.2.1 绝对路径
5.2.2 相对路径
5.2.3 根路径
5.3 从哪里开始,到哪里结束——超链接
5.3.1 如何使用超链接标记
5.3.2 链接到另一个网页
5.3.3 超链接的目标窗口
5.4 深层挖掘——内部链接
5.5 查找方便——书签链接
5.5.1 建立书签
5.5.2 链接到同一页面的书签
5.5.3 链接到不同页面的书签
5.6 范围广泛——外部链接
5.6.1 通过HTTP
5.6.2 通过FTP
5.6.3 发送Email
5.6.4 下载文件
5.7 其他链接
5.7.1 脚本链接
5.7.2 空链接
5.8 上机实践
5.8.1 显示超链接的提示信息
5.8.2 设置图片的超链接
5.9 小结
5.10 习题
第6章 如何显示图像
6.1 必须知道的图像格式
6.2 美丽图像—img
6.3 了解内在——图像属性
6.3.1 图像高度——height
6.3.2 图像宽度——width
6.3.3 图像边框——border
6.3.4 图像水平间距——hspace
6.3.5 图像垂直间距——vspace
6.3.6 图像相对于文字基准线的对齐方式——align
6.3.7 图像的提示文字——alt
6.4 跳转——图像的超链接
6.4.1 图像的超链接
6.4.2 图像热区链接
6.5 上机实践
6.5.1 图像中的提示文字属性
6.5.2 水平对齐、垂直对齐和文本围绕
6.6 小结
6.7 习题
第7章 让程序听话——表格的应用
7.1 有序显示数据的基础——表格
7.1.1 表格的基本构成——table、tr、td
7.1.2 表格的标题——caption
7.1.3 表格的表头——th
7.2 里面的珍品——表格属性
7.2.1 表格宽度——width
7.2.2 表格高度——height
7.2.3 表格对齐方式——align
7.3 围绕一圈——表格边框
7.3.1 表格边框宽度——border
7.3.2 表格边框颜色——bordercolor
7.3.3 内框宽度——cellspacing
7.3.4 表格内文字与边框间距——cellpadding
7.4 五彩世界——表格背景
7.4.1 表格背景颜色——bgcolor
7.4.2 表格的背景图像——background
7.5 有效位置——表格行属性
7.5.1 行高度的设置——height
7.5.2 行的边框颜色——bordercolor
7.5.3 行的背景颜色——bgcolor
7.5.4 行文字的水平对齐方式——align
7.5.5 行文字的垂直对齐方式——valign
7.5.6 表格标题的垂直对齐方式——align
7.6 深入了解——单元格属性
7.6.1 单元格大小——width、height
7.6.2 水平跨度——colspan
7.6.3 垂直跨度——rowspan
7.6.4 对齐方式——align、valign
7.6.5 单元格的背景色——bgcolor
7.6.6 单元格的边框颜色——bordercolor
7.6.7 单元格的亮边框——bordercolorlight
7.6.8 单元格的暗边框——bordercolordark
7.6.9 单元格的背景图像——background
7.7 完整的表格结构
7.7.1 表格的表首标记——thead
7.7.2 表格的表主体标记——tbody
7.7.3 表格的表尾标记——tfoot
7.8 一层又一层——表格嵌套
7.9 上机实践
7.9.1 表格的内部边框样式属性rules
7.9.2 表格的边框样式属性frame
7.10 小结
7.11 习题
第二篇 核心技术篇
第8章 更上一层楼——div标记
8.1 折叠在一起——层
8.1.1 层的分类
8.1.2 定义数据块
8.2 独占一行——<div>标记
8.2.1 <div>标记
8.2.2 <div>标记的属性
8.2.3 <span>标记与<div>标记
8.3 <iframe>标记
8.3.1 <iframe>标记
8.3.2 <iframe>标记的属性
8.4 <layer>标记和<ilayer>标记
8.4.1 层标记的使用
8.4.2 <layer>标记和<ilayer>标记的区别
8.5 应用<div>标记制作下拉菜单导航条
8.6 上机实践
8.7 小结
8.8 习题
第9章 获取数据——表单页面
9.1 什么是表单
9.2 处理页面——表单标记
9.2.1 处理程序——action
9.2.2 表单名称——name
9.2.3 传送方法——method
9.2.4 编码方式——enctype
9.2.5 目标显示方式——target
9.3 添加控件
9.4 特定属性——输入标记
9.4.1 文字字段——text
9.4.2 密码域——password
9.4.3 单选按钮——radio
9.4.4 复选框——checkbox
9.4.5 普通按钮——button
9.4.6 提交按钮——submit
9.4.7 重置按钮——reset
9.4.8 图像域——image
9.4.9 隐藏域——hidden
9.4.10 文件域——file
9.5 菜单列表类标记
9.6 文本域标记<textarea>
9.7 <id>标记
9.8 上机实践
9.8.1 使用enctype属性设置文件上传
9.8.2 使用特定属性来提交表单
9.9 小结
9.10 习题
第10章 新颖奇特——多媒体页面
10.1 走来走去——文字的滚动
10.1.1 文字滚动——marquee
10.1.2 方向滚动——direction
10.1.3 方式滚动——behavior
10.1.4 速度滚动——scrollamount
10.1.5 延迟滚动——scrolldelay
10.1.6 循环滚动——loop
10.1.7 范围滚动——width、height
10.1.8 背景颜色滚动——bgcolor
10.1.9 空间滚动——hspace、vspace
10.2 有声有色——背景音乐
10.2.1 背景音乐——bgsound
10.2.2 循环播放次数——loop
10.3 影像观看——多媒体文件
10.3.1 多媒体文件标记——embed
10.3.2 自动运行——autostart
10.3.3 媒体文件的循环播放——loop
10.3.4 隐藏面板——hidden
10.4 上机实践
10.4.1 嵌入flash动画
10.4.2 嵌入Mp3音乐
10.5 小结
10.6 习题
第11章 多姿多彩——绘制图形
11.1 canvas的基础知识
11.1.1 canvas是什么
11.1.2 在页面中放置canvas元素
11.1.3 绘制带边框矩形
11.2 在画布中使用路径
11.2.1 使用arc方法绘制圆形
11.2.2 使用moveTo与lineTo路径绘制火柴人
11.2.3 绘制贝济埃曲线
11.3 运用样式与颜色
11.3.1 fillStyle和strokeStyle属性
11.3.2 透明度globalAlpha
11.3.3 线型的属性
11.4 绘制渐变图形
11.4.1 绘制线性渐变
11.4.2 绘制径向渐变
11.5 绘制变形图形
11.5.1 坐标的变换
11.5.2 矩阵变换
11.6 组合多个图形
11.7 给图形绘制阴影
11.8 应用图像
11.8.1 绘制图像
11.8.2 图像的局部放大
11.8.3 图像平铺
11.8.4 图像裁剪
11.8.5 像素的处理
11.9 绘制文字
11.10 保存与恢复状态
11.11 文件的保存
11.12 对画布绘制实现动画
11.13 上机实践
11.13.1 桌面时钟
11.13.2 移动、缩放、旋转绘制的图形
11.13.3 使用drawImage方法在画布中绘制图像
11.14 小结
11.15 习题
第12章 与众不同——HTML5与HTML4
12.1 语法的改变
12.1.1 HTML5的语法变化
12.1.2 HTML5中的标记方法
12.1.3 HTML5与之前HTML版本的不一致性
12.1.4 标记示例
12.2 新增的元素和废除的元素
12.2.1 新增的结构元素
12.2.2 新增的块级(block)的语义元素
12.2.3 新增的行内(inline)的语义元素
12.2.4 新增的嵌入多媒体元素与交互性元素
12.2.5 新增的input元素的类型
12.2.6 废除的元素
12.3 新增的属性和废除的属性
12.3.1 新增的属性
12.3.2 废除的属性
12.4 全局属性
12.4.1 contentEditable属性
12.4.2 designMode属性
12.4.3 hidden属性
12.4.4 spellcheck属性
12.4.5 tabindex属性
12.5 上机实践
12.5.1 article元素嵌套
12.5.2 section元素
12.5.3 spellcheck属性的使用
12.6 小结
12.7 习题
第13章 一剑封喉的武器——文件与拖放
13.1 选择文件
13.1.1 通过file对象选择文件
13.1.2 使用Blob接口获取文件的类型与大小
13.1.3 通过类型过滤选择的文件
13.2 使用FileReader接口读取文件
13.2.1 检测浏览器对FileReader接口
13.2.2 FileReader接口的方法
13.2.3 使用readAsDataURL方法预览图片
13.2.4 使用readAsText方法读取文本文件
13.2.5 FileReader接口中的事件
13.3 拖放API
13.3.1 实现拖放的步骤
13.3.2 通过拖放显示欢迎信息
13.4 dataTransfer对象应用详解
13.4.1 使用effectAllowed和dropEffect属性设置拖放效果
13.4.2 使用setDragImage方法设置拖放图标
13.5 上机实践
13.5.1 使用JavaScript实现元素拖放
13.5.2 使用拖放API将商品拖入购物车
13.5.3 元素在拖放过程中触发的事件
13.6 小结
13.7 习题
第14章 另一个世界——多媒体播放
14.1 HTML5多媒体的简述
14.1.1 HTML4中多媒体的应用
14.1.2 HTML5页面中的多媒体
14.2 多媒体元素基本属性
14.3 多媒体元素常用方法
14.3.1 媒体播放时的方法
14.3.2 canPlayType方法
14.4 多媒体元素重要事件
14.4.1 事件处理方式
14.4.2 事件介绍
14.4.3 事件示例
14.5 上机实践
14.5.1 自定义video元素控制条工具栏
14.5.2 video元素的error属性的返回值
14.5.3 通过timeupdate事件显示媒体文件播放时间
14.6 小结
14.7 习题
第三篇 高级应用篇
第15章 疯狂HTML5——表单
15.1 新增元素与属性
15.1.1 新增的属性
15.1.2 增加与改良的input元素的种类
15.1.3 output元素的添加
15.1.4 应用新增元素制作注册表单
15.2 对表单的验证
15.2.1 自动验证
15.2.2 checkValidity显式验证法
15.2.3 避免验证
15.2.4 使用setCustomValidity方法自定义错误信息
15.3 增加的页面元素
15.3.1 新增的figure元素与figcaption元素
15.3.2 新增的details元素
15.3.3 新增的mark元素
15.3.4 新增的progress元素
15.3.5 新增的meter元素
15.3.6 改良的ol列表
15.3.7 改良的dl列表
15.3.8 加以严格限制的cite元素
15.3.9 重新定义的small元素
15.4 上机实践
15.4.1 search搜索类型的input元素
15.4.2 range类型的input元素
15.5 小结
15.6 习题
第16章 划时代的Web API
16.1 初识Web Storage
16.1.1 Web Storage是什么
16.1.2 使用Web Storage中的API
16.1.3 sessionStorage和localStorage的实例——计数器
16.1.4 Web Storage综合实例——留言本
16.1.5 JSON对象的存数实例——用户信息卡
16.2 本地数据库
16.2.1 Web SQL数据库简介
16.2.2 使用Web SQL Database API
16.3 跨文档消息通信
16.3.1 使用postMessage API
16.3.2 跨域通信
16.4 上机实践
16.5 小结
16.6 习题
第17章 齐头并进——Web Worker处理线程
17.1 Web Worker概貌
17.1.1 创建和使用Worker
17.1.2 Web Worker应用实例——求和运算
17.2 在Worker内部能做什么
17.3 多个JavaScript文件的加载与执行
17.4 线程嵌套
17.4.1 单层嵌套
17.4.2 在多个子线程之间进行数据的交互
17.5 上机实践
17.5.1 使用线程传递JSON对象
17.5.2 使用线程嵌套交互数据
17.6 小结
17.7 习题
第18章 不劳而获——离线应用程序
18.1 HTML5离线Web应用概述
18.1.1 离线Web应用概述
18.1.2 本地缓存与浏览器网页缓存的区别
18.2 创建HTML5离线应用
18.2.1 缓存清单(manifest)
18.2.2 配置IIS服务器
18.2.3 浏览manifest清单
18.3 浏览器与服务器的交互过程
18.4 applicationCache对象
18.4.1 swapCache方法
18.4.2 applicationCache对象的事件
18.5 上机实践
18.5.1 简单离线应用
18.5.2 离线留言数据交互
18.6 小结
18.7 习题
第19章 获取地理位置信息
19.1 Geolocation API的概述
19.1.1 使用getCurrentPosition获取当前地理位置
19.1.2 持续监视当前地理位置的信息
19.1.3 停止获取当前用户的地理位置信息
19.2 position对象
19.3 在页面上使用Google地图
19.4 上机实践
19.4.1 获取地理位置定位
19.4.2 用HTML5开发地理位置定位地图
19.5 小结
19.6 习题
第四篇 项目实战篇
第20章 旅游信息网前台页
20.1 需求分析
20.2 系统设计
20.2.1 系统目标
20.2.2 网站预览
20.3 系统开发及运行环境
20.4 关键技术
20.4.1 网站主体结构设计
20.4.2 HTML5结构元素的使用
20.5 网站公共部分设计
20.5.1 设计网站公共header
20.5.2 设计网站公共footer
20.6 网站主页设计
20.6.1 显示网站介绍及相关图片
20.6.2 主页左侧导航的实现
20.7 “留下足迹”页设计
20.7.1 播放音乐
20.7.2 添加留言功能的实现
20.8 小结