HTML5秘籍(第2版)
Matthew MacDonald
李松峰, 朱巍, 刘帅 译
出版时间:2015年02月
页数:420
HTML5不仅仅是一种标记语言,它还指代多种独立的Web标准。你的运气不错:这本书涵盖了关于HTML5的一切!本书通过循序渐进的教程和真实的示例,向你介绍如何构建Web应用,包括视频控件、动态图形、地理定位、离线功能和针对移动设备的响应式Web设计等。

本书主要内容如下:
· 不依赖插件添加音频和视频,构建适用于所有浏览器的播放页面;
· 用Canvas创建吸引人的视觉效果,绘制图形、图像、文本,播放动画,运行交互游戏;
· 用CSS3将页面变活泼,比如添加新奇的字体,利用变换和动画添加吸引人的效果;
· 设计更出色的Web表单,利用HTML5新增的表单元素更加高效地收集访客信息;
· 一次开发,多平台运行,实现响应式设计,创建适配桌面计算机、平板电脑和智能手机的网站;
· 让Web应用拥有桌面应用的特性,通过开发自给自足的离线应用,无论用户能否上网,都可以在本地保存用户信息。
  1. 前言  
  2. 第一部分 现代标记
  3. 第1章 HTML5简介  
  4. 1.1 HTML5的故事  
  5. 1.1.1 XHTML 1.0:更严格的标准  
  6. 1.1.2 XHTML 2:意想不到的失败  
  7. 1.1.3 HTML5:起死回生  
  8. 1.1.4 HTML:活着的语言  
  9. 1.2 HTML5的三个主要原理  
  10. 1.2.1 不破坏Web   
  11. 1.2.2 修补牛蹄子路  
  12. 1.2.3 实用至上  
  13. 1.3 HTML5标记初体验  
  14. 1.3.1 HTML5文档类型  
  15. 1.3.2 字符编码  
  16. 1.3.3 页面语言  
  17. 1.3.4 添加样式表  
  18. 1.3.5 添加JavaScript   
  19. 1.3.6 最终结果  
  20. 1.4 HTML5语法  
  21. 1.4.1 放松的规则  
  22. 1.4.2 HTML5验证
  23. 1.4.3 XHTML的回归  
  24. 1.5 HTML5元素家族  
  25. 1.5.1 新增的元素  
  26. 1.5.2 删除的元素  
  27. 1.5.3 改变的元素  
  28. 1.5.4 调整的元素  
  29. 1.5.5 标准化的元素  
  30. 1.6 今天开始用HTML5   
  31. 1.6.1 了解浏览器支持情况  
  32. 1.6.2 浏览器装机情况统计  
  33. 1.6.3 通过Modernizr检测功能  
  34. 1.6.4 使用“腻子脚本”填补功能缺陷  
  35. 第2章 用语义元素构造网页  
  36. 2.1 语义元素  
  37. 2.2 改造传统的HTML页面  
  38. 2.2.1 构造页面的老办法  
  39. 2.2.2 使用HTML5构造页面  
  40. 2.2.3 用[figure]添加插图  
  41. 2.2.4 用[aside]添加附注  
  42. 2.3 浏览器对语义元素的支持情况  
  43. 2.3.1 为语义元素添加样式  
  44. 2.3.2 使用HTML5“垫片”
  45. 2.3.3 Modernizr:一站式解决方案  
  46. 2.4 使用语义元素设计站点  
  47. 2.4.1 理解[header]   
  48. 2.4.2 用[nav]标注导航链接  
  49. 2.4.3 理解区块  
  50. 2.4.4 理解[footer]   
  51. 2.4.5 使用[main]标识主要内容  
  52. 2.5 HTML5纲要  
  53. 2.5.1 如何查看纲要  
  54. 2.5.2 基本纲要  
  55. 2.5.3 分块元素  
  56. 2.5.4 解决一个纲要问题  
  57. 第3章 编写更有意义的标记  
  58. 3.1 回顾语义元素  
  59. 3.1.1 使用[time]标注日期和时间  
  60. 3.1.2 使用[output]标注JavaScript返回值  
  61. 3.1.3 使用[mark]标注突显文本  
  62. 3.2 其他语义标准  
  63. 3.2.1 ARIA  
  64. 3.2.2 RDFa  
  65. 3.2.3 微格式  
  66. 3.2.4 微数据  
  67. 3.3 实例:改进“About Me”页面  
  68. 3.4 搜索引擎如何使用元数据  
  69. 3.4.1 Google Rich Snippets  
  70. 3.4.2 增强搜索结果  
  71. 3.4.3 食谱搜索引擎  
  72. 第4章 构建更好的Web表单  
  73. 4.1 理解表单  
  74. 4.2 传统表单翻新  
  75. 4.2.1 通过占位符文本添加提示  
  76. 4.2.2 焦点:挑选正确的起点  
  77. 4.3 验证:阻止错误  
  78. 4.3.1 HTML5验证的原理
  79. 4.3.2 关闭验证  
  80. 4.3.3 验证样式挂钩  
  81. 4.3.4 使用正则表达式  
  82. 4.3.5 自定义验证  
  83. 4.4 浏览器对Web表单和验证的支持  
  84. 4.4.1 用Modernizr检测支持情况  
  85. 4.4.2 用HTML5Forms兼容  
  86. 4.5 新的输入控件  
  87. 4.5.1 电子邮件地址  
  88. 4.5.2 网址  
  89. 4.5.3 搜索框  
  90. 4.5.4 电话号码  
  91. 4.5.5 数值  
  92. 4.5.6 滑动条  
  93. 4.5.7 日期和时间  
  94. 4.5.8 颜色  
  95. 4.6 新元素  
  96. 4.6.1 使用[datalist]显示输入建议  
  97. 4.6.2 进度条和计量条  
  98. 4.6.3 使用[command]和[menu]创建工具条和菜单
  99. 4.7 网页中的HTML编辑器  
  100. 4.7.1 使用contenteditable编辑元素  
  101. 4.7.2 使用designMode辑页面  
  102. 第二部分 视频、图形和特效
  103. 第5章 音频与视频  
  104. 5.1 网络视频的演变  
  105. 5.2 HTML5音频与视频  
  106. 5.2.1 使用[audio]播放点噪音  
  107. 5.2.2 预加载媒体文件  
  108. 5.2.3 自动播放  
  109. 5.2.4 循环播放  
  110. 5.2.5 了解[video]   
  111. 5.3 HTML5媒体格式  
  112. 5.3.1 谈谈格式  
  113. 5.3.2 浏览器对媒体格式的支持情况  
  114. 5.4 后备措施:如何讨好每一款浏览器  
  115. 5.4.1 支持多种格式  
  116. 5.4.2 添加Flash后备措施  
  117. 5.5 使用JavaScript控制播放器  
  118. 5.5.1 添加音效  
  119. 5.5.2 创建自定义视频播放器  
  120. 5.5.3 JavaScript媒体播放器  
  121. 5.6 视频字幕  
  122. 5.6.1 标记时间的文本轨道和WebVTT  
  123. 5.6.2 使用[track]添加字幕  
  124. 5.6.3 浏览器对视频字幕的支持情况  
  125. 第6章 美妙的CSS3字体和特效  
  126. 6.1 使用CSS3   
  127. 6.1.1 选择一:用能用的  
  128. 6.1.2 选择二:将CSS功能作为增强  
  129. 6.1.3 选择三:Modernizr  
  130. 6.1.4 有开发商前缀的特定于浏览器的样式  
  131. 6.2 多变的盒子  
  132. 6.2.1 透明  
  133. 6.2.2 圆角  
  134. 6.2.3 背景  
  135. 6.2.4 阴影  
  136. 6.2.5 渐变  
  137. 6.3 创建过渡效果  
  138. 6.3.1 基本的颜色过渡  
  139. 6.3.2 更多的过渡思路  
  140. 6.3.3 用JavaScript触发过渡  
  141. 6.3.4 变换  
  142. 6.3.5 使用变换的过渡  
  143. 6.4 Web字体  
  144. 6.4.1 Web字体格式  
  145. 6.4.2 给网站找个字体  
  146. 6.4.3 从Font Squirrel获取免费字体  
  147. 6.4.4 准备一个网络字体  
  148. 6.4.5 用谷歌更简单地使用Web字体
  149. 6.4.6 多栏文本  
  150. 第7章 CSS3与响应式Web设计  
  151. 7.1 响应式设计基础  
  152. 7.1.1 流式布局  
  153. 7.1.2 流式图片  
  154. 7.1.3 流式排版  
  155. 7.1.4 理解视口  
  156. 7.2 使用媒体查询适配布局
  157. 7.2.1 媒体查询  
  158. 7.2.2 创建简单的媒体查询  
  159. 7.2.3 构建移动设备友好的布局
  160. 7.2.4 媒体查询的高级条件  
  161. 7.2.5 替换整个样式表  
  162. 7.2.6 识别特定的移动设备  
  163. 第8章 基本Canvas绘图  
  164. 8.1 Canvas起步  
  165. 8.1.1 画直线  
  166. 8.1.2 路径与形状  
  167. 8.1.3 绘制曲线  
  168. 8.1.4 变换  
  169. 8.1.5 透明度  
  170. 8.1.6 合成操作  
  171. 8.2 构建基本的画图程序  
  172. 8.2.1 准备工作  
  173. 8.2.2 在画布上绘图  
  174. 8.2.3 将画布保存为图像  
  175. 8.3 浏览器对Canvas的支持情况  
  176. 8.3.1 用ExplorerCanvas兼容Canvas  
  177. 8.3.2 用FlashCanvas兼容Canvas  
  178. 8.3.3 Canvas后备及功能检测  
  179. 第9章 高级Canvas技术:交互性和动画  
  180. 9.1 高级Canvas绘图  
  181. 9.1.1 绘制图像  
  182. 9.1.2 裁剪、切割和伸缩图片
  183. 9.1.3 绘制文本  
  184. 9.2 阴影与填充  
  185. 9.2.1 添加阴影  
  186. 9.2.2 填充图案  
  187. 9.2.3 填充渐变  
  188. 9.2.4 综合示例:绘制图解  
  189. 9.3 赋予图形交互能力  
  190. 9.3.1 记录绘制的内容  
  191. 9.3.2 基于坐标的碰撞检测  
  192. 9.4 给Canvas添加动画  
  193. 9.4.1 基本的动画  
  194. 9.4.2 多物体动画  
  195. 9.5 实例:迷宫游戏  
  196. 9.5.1 布置迷宫  
  197. 9.5.2 让笑脸动起来  
  198. 9.5.3 基于像素颜色的碰撞检测  
  199. 第三部分 构建Web应用
  200. 第10章 数据存储  
  201. 10.1 Web存储简介  
  202. 10.1.1 存储数据  
  203. 10.1.2 实战:保存游戏中的最后位置  
  204. 10.1.3 浏览器对Web存储的支持情况  
  205. 10.2 深入Web存储  
  206. 10.2.1 删除数据项  
  207. 10.2.2 查找所有数据项  
  208. 10.2.3 保存数值和日期  
  209. 10.2.4 保存对象
  210. 10.2.5 响应存储变化  
  211. 10.3 读取文件  
  212. 10.3.1 取得文件  
  213. 10.3.2 用[input]读取文本文件  
  214. 10.3.3 替换标准的上传控件  
  215. 10.3.4 一次读取多个文件  
  216. 10.3.5 通过拖曳读取图片文件  
  217. 10.3.6 浏览器对File API的支持情况  
  218. 10.4 IndexDB:浏览器的数据库引擎  
  219. 10.4.1 数据对象  
  220. 10.4.2 创建并连接数据库  
  221. 10.4.3 在数据库中保存数据  
  222. 10.4.4 在数据表中查询所有数据  
  223. 10.4.5 查询单条数据  
  224. 10.4.6 删除一条数据  
  225. 10.4.7 浏览器对IndexedDB的支持情况  
  226. 第11章 离线应用  
  227. 11.1 通过描述文件缓存资源  
  228. 11.1.1 创建描述文件  
  229. 11.1.2 使用描述文件  
  230. 11.1.3 把描述文件放到Web服务器  
  231. 11.1.4 更新描述文件  
  232. 11.1.5 浏览器对离线应用的支持情况  
  233. 11.2 实用缓存技术  
  234. 11.2.1 访问未缓存的文件  
  235. 11.2.2 添加后备内容  
  236. 11.2.3 检测连接  
  237. 11.2.4 用JavaScript监听更新  
  238. 第12章 与Web服务器通信  
  239. 12.1 向Web服务器发送消息  
  240. 12.1.1 XMLHttpRequest对象  
  241. 12.1.2 向Web服务器提问  
  242. 12.1.3 取得新内容  
  243. 12.2 服务器发送事件  
  244. 12.2.1 消息格式  
  245. 12.2.2 通过服务器脚本发送消息  
  246. 12.2.3 在网页中处理消息  
  247. 12.2.4 轮询服务器端事件  
  248. 12.3 Web Socket  
  249. 12.3.1 Web Socket服务器  
  250. 12.3.2 简单的Web Socket客户端  
  251. 12.3.3 使用现成的Web Socket服务器  
  252. 第13章 地理定位、Web Worker和历史管理  
  253. 13.1 地理定位  
  254. 13.1.1 地理定位的基本原理  
  255. 13.1.2 查找访客的坐标  
  256. 13.1.3 处理错误  
  257. 13.1.4 设置地理定位选项  
  258. 13.1.5 显示地图  
  259. 13.1.6 跟踪访客移动  
  260. 13.1.7 浏览器对地理定位的兼容情况  
  261. 13.2 Web Worker  
  262. 13.2.1 费时的任务  
  263. 13.2.2 把任务放在后台  
  264. 13.2.3 处理Worker错误  
  265. 13.2.4 取消后台任务  
  266. 13.2.5 传递复杂消息  
  267. 13.2.6 浏览器对Web Worker的兼容情况  
  268. 13.3 历史管理  
  269. 13.3.1 URL问题  
  270. 13.3.2 以往的解决方案:hashbang URL  
  271. 13.3.3 HTML5的方案:会话历史  
  272. 13.3.4 浏览器对会话历史的支持情况  
  273. 第四部分 附录
  274. 附录A CSS基础  
  275. 附录B JavaScript:页面的大脑  
书名:HTML5秘籍(第2版)
作者:Matthew MacDonald
译者:李松峰, 朱巍, 刘帅 译
国内出版社:人民邮电出版社
出版时间:2015年02月
页数:420
书号:978-7-115-32050-6
原版书书名:HTML5: The Missing Manual, 2e
原版书出版商:O'Reilly Media
Matthew MacDonald
 
Matthew MacDonald是一位作家、教育家和MCSD开发人员。他已经编写了几本使用.NET进行编程的书籍,包括The Book of VB .NET(No Starch)和ASP.NET:The Complete Reference(Osborne McGraw-Hill)。他还是几本O'Reilly出版的图书的合作者,包括C# in a Nutshell、ASP.NET in a Nutshell以及ADO.NET in a Nutshell。在记忆已经变得有点模糊的过去的时代,他学习英语文学和理论物理。