作品简介

第1版2年内印刷近10次,累计销量超过50000册,4大网上书店的读者评论超过4600条,98%以上的评论都是五星级的好评。不仅是HTML 5与CSS 3图书领域当之无愧的领头羊,而且在整个原创计算机图书领域也是佼佼者。本书已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之一”。第2版首先从技术的角度结合最新的HTML 5和CSS 3标准对内容进行了更新和补充,其次从结构组织和写作方式的角度对原有的内容进行了进一步优化,使之更具价值且更便于读者阅读。

全书共29章,本书分为上下两册:上册(1~17章)全面系统地讲解了HTML 5相关的技术,以HTML 5对现有Web应用产生的变革开篇,顺序讲解了HTML 5与HTML 4的区别、HTML 5的结构、表单元素、HTML编辑API、图形绘制、History API、本地存储、离线应用、文件API、通信API、扩展的XML HttpRequest API、Web Workers、地理位置信息、多媒体相关的API、页面显示相关的API、拖放API与通知API等内容;下册(18~29章)全面系统地讲解了CSS 3相关的技术,以CSS 3的功能和模块结构开篇,顺序讲解了各种选择器及其使用、文字与字体的相关样式、盒相关样式、背景与边框相关样式、布局相关样式、变形处理、动画、颜色相关样式等内容。上下两册共351个示例页面,所有代码均通过作者上机调试。下册的最后有2个综合案例,以迭代的方式详细讲解了整个案例的实现过程,可操作性极强。

陆凌牛,资深Web开发工程师、软件开发工程师和系统设计师。从事Web开发多年,对各种Web开发技术(包括前端和后端)都有非常深入的研究,经验极其丰富。HTML 5和CSS 3等新技术的先驱者和布道者,不仅对HTML 5与CSS 3有非常深入的研究,而且对Sencha Touch等移动应用开发框架也有非常深刻的认识,并且付诸了大量实践。同时,他还擅长微软与Java的相关技术,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方面也积累大量的实战经验。

此外,他还是一位颇有影响力的技术作家:

(1)处女作《HMTL 5与CSS 3权威指南》凭借优质的内容获得了读者广泛的好评,印刷近10次,销量超过50000册,被读者誉为“系统学习HTML 5与CSS 3的最佳选择”和“Web前端工程师案头必备图书之一”, 不仅是HTML 5与CSS 3领域的领头羊和标杆,而且是近年来原创计算机图书领域的一面旗帜。

(2)第2本著作《HTML 5开发精要与案例详解》不仅在内容上延续了前一本书的精彩,而且同样也取得了非常好的口碑和销量,已经两次重印,销量万余册。

(3)第3本著作《Sencha Touch权威指南》是该领域的第一本著作,也是唯一一本著作,内容非常全面,且极具实战性,销售势头也非常不错。

作品目录

  • 前言
  • 为何写作本书
  • 第2版与第1版的区别
  • 本书面向的读者
  • 如何阅读本书
  • 致谢
  • 第1章 Web时代的变迁
  • 1.1 迎接新的Web时代
  • 1.1.1 HTML5时代即将来临
  • 1.1.2 HTML5的目标
  • 1.2 HTML5会深受欢迎的理由
  • 1.2.1 世界知名浏览器厂商对HTML5的支持
  • 1.2.2 第一个理由:时代的要求
  • 1.2.3 第二个理由:Internet Explorer8
  • 1.3 可以放心使用HTML5的三个理由
  • 1.4 HTML5要解决的三个问题
  • 第2章 HTML5与HTML4的区别
  • 2.1 语法的改变
  • 2.1.1 HTML5的语法变化
  • 2.1.2 HTML5中的标记方法
  • 2.1.3 HTML5确保了与之前HTML版本的兼容性
  • 2.1.4 标记示例
  • 2.2 新增的元素和废除的元素
  • 2.2.1 新增的结构元素
  • 2.2.2 新增的其他元素
  • 2.2.3 新增的input元素的类型
  • 2.2.4 废除的元素
  • 2.3 新增的属性和废除的属性
  • 2.3.1 新增的属性
  • 2.3.2 废除的属性
  • 2.4 全局属性
  • 2.4.1 contentEditable属性
  • 2.4.2 designMode属性
  • 2.4.3 hidden属性
  • 2.4.4 spellcheck属性
  • 2.4.5 tabindex属性
  • 第3章 HTML5的结构
  • 3.1 新增的主体结构元素
  • 3.1.1 article元素
  • 3.1.2 section元素
  • 3.1.3 nav元素
  • 3.1.4 aside元素
  • 3.1.5 time元素与微格式
  • 3.1.6 pubdate属性
  • 3.2 新增的非主体结构元素
  • 3.2.1 header元素
  • 3.2.2 hgroup元素
  • 3.2.3 footer元素
  • 3.2.4 address元素
  • 3.3 HTML5结构
  • 3.3.1 大纲
  • 3.3.2 大纲的编排规则
  • 3.3.3 对新的结构元素使用样式
  • 第4章 表单及其他新增和改良元素
  • 4.1 新增元素与属性
  • 4.1.1 新增属性
  • 4.1.2 大幅度地增加与改良input元素的种类
  • 4.1.3 对新的表单元素使用样式
  • 4.1.4 output元素的追加
  • 4.2 表单验证
  • 4.2.1 自动验证
  • 4.2.2 取消验证
  • 4.2.3 显式验证
  • 4.3 增强的页面元素
  • 4.3.1 新增的figure元素与figcaption元素
  • 4.3.2 新增的details元素与summary元素
  • 4.3.3 新增的mark元素
  • 4.3.4 新增的progress元素
  • 4.3.5 新增的meter元素
  • 4.3.6 改良的ol列表
  • 4.3.7 改良的dl列表
  • 4.3.8 加以严格限制的cite元素
  • 4.3.9 重新定义的small元素
  • 4.3.10 安全性增强的iframe元素
  • 4.3.11 增强的script元素
  • 第5章 HTML编辑API
  • 5.1 Range对象与Selection对象
  • 5.1.1 基本概念
  • 5.1.2 Range对象的属性与方法
  • 5.1.3 Selection对象的属性与方法
  • 5.2 命令
  • 5.2.1 基本概念
  • 5.2.2 execCommand方法
  • 5.2.3 queryCommandSupported方法
  • 5.2.4 queryCommandState方法
  • 5.2.5 queryCommandIndeterm方法
  • 5.2.6 queryCommandEnabled方法
  • 5.2.7 queryCommandValue方法
  • 5.2.8 可以在各种浏览器中运行的所有命令
  • 第6章 绘制图形
  • 6.1 canvas元素的基础知识
  • 6.1.1 在页面中放置canvas元素
  • 6.1.2 绘制矩形
  • 6.2 使用路径
  • 6.2.1 绘制圆形
  • 6.2.2 如果没有关闭路径会怎么样
  • 6.2.3 moveTo与lineTo
  • 6.2.4 使用bezierCurveTo绘制贝济埃曲线
  • 6.3 绘制渐变图形
  • 6.3.1 绘制线性渐变
  • 6.3.2 绘制径向渐变
  • 6.4 绘制变形图形
  • 6.4.1 坐标变换
  • 6.4.2 坐标变换与路径的结合使用
  • 6.4.3 矩阵变换
  • 6.5 图形组合
  • 6.6 给图形绘制阴影
  • 6.7 使用图像
  • 6.7.1 绘制图像
  • 6.7.2 图像平铺
  • 6.7.3 图像裁剪
  • 6.7.4 像素处理
  • 6.8 绘制文字
  • 6.9 补充知识
  • 6.9.1 保存与恢复状态
  • 6.9.2 保存文件
  • 6.9.3 简单动画的制作
  • 第7章 History API
  • 7.1 History API的基本概念
  • 7.2 History API使用示例
  • 7.2.1 使用History API
  • 7.2.2 结合使用Canvas API与History API
  • 第8章 本地存储
  • 8.1 Web Storage
  • 8.1.1 Web Storage概述
  • 8.1.2 简单Web留言本
  • 8.1.3 作为简易数据库来利用
  • 8.1.4 利用storage事件实时监视Web Storage中的数据
  • 8.2 本地数据库
  • 8.2.1 本地数据库的基本概念
  • 8.2.2 用executeSql来执行查询
  • 8.2.3 使用数据库实现Web留言本
  • 8.2.4 transaction方法中的处理
  • 8.3 indexedDB数据库
  • 8.3.1 indexedDB数据库的基本概念
  • 8.3.2 连接数据库
  • 8.3.3 数据库的版本更新
  • 8.3.4 创建对象仓库
  • 8.3.5 创建索引
  • 8.3.6 索引的multiEntry属性值
  • 8.3.7 使用事务
  • 8.3.8 保存数据
  • 8.3.9 获取数据
  • 8.3.10 根据主键值检索数据
  • 8.3.11 根据索引属性值检索数据
  • 8.3.12 复合索引
  • 8.3.13 统计对象仓库中的数据数量
  • 8.3.14 使用indexedDB API制作Web留言本
  • 第9章 离线应用程序
  • 9.1 离线Web应用程序详解
  • 9.1.1 新增的本地缓存
  • 9.1.2 本地缓存与浏览器网页缓存的区别
  • 9.2 manifest文件
  • 9.3 浏览器与服务器的交互过程
  • 9.4 applicationCache对象
  • 9.4.1 swapCache方法
  • 9.4.2 applicationCache对象的事件
  • 第10章 文件API
  • 10.1 FileList对象与file对象
  • 10.2 ArrayBuffer对象与ArrayBufferView对象
  • 10.2.1 基本概念
  • 10.2.2 ArrayBuffer对象
  • 10.2.3 ArrayBufferView对象
  • 10.2.4 DataView对象
  • 10.3 Blob对象与BlobBuilder对象
  • 10.3.1 Blob对象
  • 10.3.2 BlobBuilder对象
  • 10.3.3 Blob对象的slice方法
  • 10.4 FileReader对象
  • 10.4.1 FileReader对象的方法
  • 10.4.2 FileReader对象的事件
  • 10.4.3 FileReader对象的使用示例
  • 10.5 FileSystem API
  • 10.5.1 FileSystem API概述
  • 10.5.2 FileSystem API的适用场合
  • 10.5.3 请求访问文件系统
  • 10.5.4 申请磁盘配额
  • 10.5.5 创建文件
  • 10.5.6 写入文件
  • 10.5.7 在文件中追加数据
  • 10.5.8 读取文件
  • 10.5.9 复制磁盘中的文件
  • 10.5.10 删除文件
  • 10.5.11 创建目录
  • 10.5.12 读取目录中的内容
  • 10.5.13 删除目录
  • 10.5.14 复制文件或目录
  • 10.5.15 移动文件或目录与重命名文件或目录
  • 10.5.16 filesystem:URL前缀
  • 10.5.17 综合案例
  • 10.6 Base64编码支持
  • 10.6.1 Base64编码概述
  • 10.6.2 在HTML5中支持Base64编码
  • 第11章 通信API
  • 11.1 跨文档消息传输
  • 11.1.1 跨文档消息传输的基本知识
  • 11.1.2 跨文档消息传输示例
  • 11.1.3 通道通信
  • 11.2 WebSockets通信
  • 11.2.1 WebSockets通信的基本知识
  • 11.2.2 使用WebSockets API
  • 11.2.3 WebSockets API使用示例
  • 11.2.4 发送对象
  • 11.2.5 发送与接收原始二进制数据
  • 11.2.6 实现WebSockets API的开发框架
  • 11.2.7 WebSocket协议
  • 11.2.8 WebSockets API的适用场景
  • 11.3 Server-Sent Events API
  • 11.3.1 Server-Sent Events API的基本概念
  • 11.3.2 Server-Sent Events API的实现方法
  • 11.3.3 事件ID的使用示例
  • 第12章 扩展的XMLHttpRequest API
  • 12.1 从服务器端获取二进制数据
  • 12.1.1 ArrayBuffer响应
  • 12.1.2 Blob响应
  • 12.2 发送数据
  • 12.2.1 发送字符串
  • 12.2.2 发送表单数据
  • 12.2.3 上传文件
  • 12.2.4 发送Blob对象
  • 12.2.5 发送ArrayBuffer对象
  • 12.3 跨域数据请求
  • 第13章 使用Web Workers处理线程
  • 13.1 基础知识
  • 13.2 与线程进行数据的交互
  • 13.3 线程嵌套
  • 13.3.1 单层嵌套
  • 13.3.2 在多个子线程中进行数据的交互
  • 13.4 线程中可用的变量、函数与类
  • 13.5 适用场合
  • 13.6 SharedWorker
  • 13.6.1 基础知识
  • 13.6.2 实现前台页面与后台线程之间的通信
  • 13.6.3 定义页面与共享的后台线程开始通信时的处理
  • 13.6.4 SharedWorker的使用示例
  • 第14章 获取地理位置信息
  • 14.1 Geolocation API的基本知识
  • 14.1.1 取得当前地理位置
  • 14.1.2 持续监视当前地理位置的信息
  • 14.1.3 停止获取当前用户的地理位置信息
  • 14.2 position对象
  • 14.3 在页面上使用google地图
  • 第15章 多媒体相关API
  • 15.1 多媒体播放
  • 15.1.1 video元素与audio元素的基础知识
  • 15.1.2 属性
  • 15.1.3 方法
  • 15.1.4 事件
  • 15.2 Web Audio API
  • 15.2.1 AudioContext对象
  • 15.2.2 加载声音
  • 15.2.3 播放声音
  • 15.2.4 将声音加载处理封装在类中
  • 15.2.5 控制节奏
  • 15.2.6 控制音量
  • 15.2.7 两个声音的交叉混合
  • 15.2.8 多个音频文件之间的平滑过渡
  • 15.2.9 对音频使用滤波处理
  • 第16章 与页面显示相关的API
  • 16.1 Page Visibility API
  • 16.1.1 Page Visibility API概述
  • 16.1.2 Page Visibility API的使用场合
  • 16.1.3 实现Page Visibility API
  • 16.2 Fullscreen API
  • 16.2.1 Fullscreen API概述
  • 16.2.2 实现Fullscreen API
  • 16.2.3 Fullscreen API代码使用示例
  • 第17章 拖放API与通知API
  • 17.1 拖放API
  • 17.1.1 实现拖放的步骤
  • 17.1.2 DataTransfer对象的属性与方法
  • 17.1.3 设定拖放时的视觉效果
  • 17.1.4 自定义拖放图标
  • 17.2 通知API
  • 17.2.1 通知API的基础知识
  • 17.2.2 通知API的代码使用示例
展开全部