HTML 5与CSS 3权威指南
作品简介
如果你是一位有前瞻性的web前端工作者,那么你一定会从本书中受益,因为它就是专门为你打造的。
《HTML 5与CSS 3权威指南》内容系统而全面,详尽地讲解了html 5和css 3的所有新功能和新特性;技术新颖,所有知识点都紧跟html 5与css 3的最新发展动态(html 5和css 3仍在不断完善之中);实战性强(包含246个示例页面),不仅每个知识点都配有精心设计的小案例(便于动手实践),而且还有两个综合性的案例(体现用 html 5与css 3开发web应用的思维和方法)。本书不仅能满足你全面而系统地学习理论知识的需求,还能满足你需要充分实践的需求。
《HTML 5与CSS 3权威指南》共分为三大部分,第一部分详尽地讲解了html 5的相关知识,包括各主流浏览器对html 5的支持情况、html 5与html 4在语法上的区别、html 5的结构元素、表单与文件、图形绘制、多媒体播放、本地存储、离线应用、通信api、web workers、地理位置信息获取等内容;第二部分详细地阐述了css 3的相关知识,涵盖选择器、文字与字体的相关样式、颜色的相关样式、盒的相关样式、背景与边框的相关样式、布局的相关样式、ui的相关样式、media queries的相关样式、变形处理、多媒体和动画等内容。第三部分以迭代的方式逐步展现了两个完整的案例,旨在帮助读者将理论知识贯穿于实践中,迅速成为新一代web开发技术中的弄潮儿。
无论你是未入门或刚入门的前端新人,还是有多年工作经验的资深前端工程师,这本书都会很适合你。
陆凌牛,资深Web开发工程师、软件开发工程师和系统设计师。从事Web开发多年,对各种Web开发技术(包括前端和后端)都有非常深入的研究,经验极其丰富。HTML 5和CSS 3等新技术的先驱者和布道者,不仅对HTML 5与CSS 3的理论知识有比较深入的认识,而且已经大量在实践中付诸应用。此外,他还擅长微软与Java的相关技术,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方面也积累大量的实战经验。
作品目录
前言
本书面向的读者
如何阅读本书
致谢
第1章 Web时代的变迁
1.1 迎接新的Web时代
1.1.1 HTML 5时代即将来临
1.1.2 HTML 5的目标
1.2 HTML 5会深受欢迎的理由
1.2.1 世界知名浏览器厂商对HTML 5的支持
1.2.2 第一个理由:时代的要求
1.2.3 第二个理由:Internet Explorer 8
1.3 可以放心使用HTML 5的三个理由
1.4 HTML 5要解决的三个问题
第2章 HTML 5与HTML 4的区别
2.1 语法的改变
2.1.1 HTML 5的语法变化
2.1.2 HTML 5中的标记方法
2.1.3 HTML 5确保了与之前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章 HTML 5的结构
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 HTML 5结构
3.3.1 大纲
3.3.2 对新的结构元素使用样式
3.3.3 article元素的样式
第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.2.4 自定义错误信息
4.3 增强的页面元素
4.3.1 新增的figure元素与figcaption元素
4.3.2 新增的details元素
4.3.3 新增的mark元素
4.3.4 新增的progress元素
4.3.5 新增的meter元素
4.3.6 新增的menu元素与command元素
4.3.7 改良的ol列表
4.3.8 改良的dl列表
4.3.9 加以严格限制的cite元素
4.3.10 重新定义的small元素
4.4 文件API
4.4.1 FileList对象与file对象
4.4.2 Blob对象
4.4.3 FileReader接口
4.5 拖放API
4.5.1 实现拖放的步骤
4.5.2 DataTransfer对象的属性与方法
4.5.3 设定拖放时的视觉效果
4.5.4 自定义拖放图标
第5章 绘制图形
5.1 canvas元素的基础知识
5.1.1 在页面中放置canvas元素
5.1.2 绘制矩形
5.2 使用路径
5.2.1 绘制圆形
5.2.2 如果没有关闭路径会怎么样
5.2.3 moveTo与lineTo
5.2.4 使用bezierCurveTo绘制贝济埃曲线
5.3 绘制渐变图形
5.3.1 绘制线性渐变
5.3.2 绘制径向渐变
5.4 绘制变形图形
5.4.1 坐标变换
5.4.2 坐标变换与路径的结合使用
5.4.3 矩阵变换
5.5 图形组合
5.6 给图形绘制阴影
5.7 使用图像
5.7.1 绘制图像
5.7.2 图像平铺
5.7.3 图像裁剪
5.7.4 像素处理
5.8 绘制文字
5.9 补充知识
5.9.1 保存与恢复状态
5.9.2 保存文件
5.9.3 简单动画的制作
第6章 多媒体播放
6.1 video元素与audio元素的基础知识
6.1.1 HTML 4页面中播放视频或音频的方法
6.1.2 HTML 5页面中播放视频或音频的方法
6.2 属性
6.3 方法
6.4 事件
6.4.1 事件处理方式
6.4.2 事件介绍
6.4.3 事件捕捉示例
第7章 本地存储
7.1 Web Storage
7.1.1 Web Storage是什么
7.1.2 简单Web留言本
7.1.3 作为简易数据库来利用
7.2 本地数据库
7.2.1 本地数据库的基本概念
7.2.2 用executeSql来执行查询
7.2.3 使用数据库实现Web留言本
7.2.4 transaction方法中的处理
第8章 离线应用程序
8.1 离线Web应用程序详解
8.1.1 新增的本地缓存
8.1.2 本地缓存与浏览器网页缓存的区别
8.2 manifest文件
8.3 浏览器与服务器的交互过程
8.4 applicationCache对象
8.4.1 swapCache方法
8.4.2 applicationCache对象的事件
第9章 通信API
9.1 跨文档消息传输
9.1.1 跨文档消息传输的基本知识
9.1.2 跨文档消息传输示例
9.2 Web Sockets通信
9.2.1 Web Sockets通信的基本知识
9.2.2 使用Web Sockets API
9.2.3 Web Sockets API使用示例
9.2.4 发送对象
第10章 使用Web Workers处理线程
10.1 基础知识
10.2 与线程进行数据的交互
10.3 线程嵌套
10.3.1 单层嵌套
10.3.2 在多个子线程中进行数据的交互
10.4 线程中可用的变量、函数与类
第11章 获取地理位置信息
11.1 Geolocation API的基本知识
11.1.1 取得当前地理位置
11.1.2 持续监视当前地理位置的信息
11.1.3 停止获取当前用户的地理位置信息
11.2 position对象
11.3 在页面上使用google地图
第12章 CSS 3概述
12.1 概要介绍
12.1.1 CSS 3是什么
12.1.2 CSS 3的历史
12.2 使用CSS 3能做什么
12.2.1 模块与模块化结构
12.2.2 一个简单的CSS 3示例
第13章 选择器
13.1 选择器概述
13.2 属性选择器
13.2.1 属性选择器是什么
13.2.2 CSS 3中的属性选择器
13.2.3 灵活运用属性选择器
13.3 结构性伪类选择器
13.3.1 CSS中的伪类选择器及伪元素
13.3.2 选择器root、not、empty和target
13.3.3 选择器:first-child、last-child、nth-child和nth-last-child
13.3.4 选择器:nth-of-type和nth-last-of-type
13.3.5 循环使用样式
13.3.6 only-child选择器
13.4 UI元素状态伪类选择器
13.4.1 选择器:E:hover、E:active和E:focus
13.4.2 E:enabled伪类选择器与E:disabled伪类选择器
13.4.3 E:read-only伪类选择器与E:read-write伪类选择器
13.4.4 伪类选择器:E:checked、E:default和E:indeterminate
13.4.5 E:selection伪类选择器
13.5 通用兄弟元素选择器
第14章 使用选择器在页面中插入内容
14.1 使用选择器来插入文字
14.1.1 使用选择器来插入内容
14.1.2 指定个别元素不进行插入
14.2 插入图像文件
14.2.1 在标题前插入图像文件
14.2.2 插入图像文件的好处
14.2.3 将alt属性的值作为图像的标题来显示
14.3 使用content属性来插入项目编号
14.3.1 在多个标题前加上连续编号
14.3.2 在项目编号中追加文字
14.3.3 指定编号的样式
14.3.4 指定编号的种类
14.3.5 编号嵌套
14.3.6 中编号中嵌入大编号
14.3.7 在字符串两边添加嵌套文字符号
第15章 文字与字体相关样式
15.1 给文字添加阴影—text-shadow属性
15.1.1 text-shadow属性的使用方法
15.1.2 位移距离
15.1.3 阴影的模糊半径
15.1.4 阴影的颜色
15.1.5 指定多个阴影
15.2 让文本自动换行—word-break属性
15.2.1 依靠浏览器让文本自动换行
15.2.2 指定自动换行的处理方法
15.3 让长单词与URL地址自动换行—word-wrap属性
15.4 使用服务器端字体—Web Font与@font-face属性
15.4.1 在网页上显示服务器端字体
15.4.2 定义斜体或粗体字体
15.4.3 显示客户端本地的字体
15.4.4 属性值的指定
15.5 修改字体种类而保持字体尺寸不变—font-size-adjust属性
15.5.1 字体不同导致文字大小的不同
15.5.2 font-size-adjust属性的使用方法
15.5.3 浏览器对于aspect值的计算方法
15.5.4 font-size-adjust属性的使用示例
第16章 盒相关样式
16.1 盒的类型
16.1.1 盒的基本类型
16.1.2 inline-block类型
16.1.3 inline-table类型
16.1.4 list-item类型
16.1.5 run-in类型与compact类型
16.1.6 表格相关类型
16.1.7 none类型
16.1.8 各种浏览器对于各种盒类型的支持情况
16.2 对于盒中容纳不下的内容的显示
16.2.1 overflow属性
16.2.2 overflow-x属性与overflow-y属性
16.2.3 text-overflow属性
16.3 对盒使用阴影
16.3.1 box-shadow属性的使用方法
16.3.2 将参数设定为0
16.3.3 对盒内子元素使用阴影
16.3.4 对第一个文字或第一行使用阴影
16.3.5 对表格及单元格使用阴影
16.4 指定针对元素的宽度与高度的计算方法
16.4.1 box-sizing属性
16.4.2 为什么要使用box-sizing属性
第17章 与背景和边框相关样式
17.1 与背景相关的新增属性
17.1.1 指定背景的显示范围—background-clip属性
17.1.2 指定绘制背景图像的绘制起点—background-origin属性
17.1.3 指定背景图像的尺寸—background-size属性
17.1.4 指定内联元素背景图像进行平铺时的循环方式—background-break属性
17.2 在一个元素中显示多个背景图像
17.3 圆角边框的绘制
17.3.1 border-radius属性
17.3.2 在border-radius属性中指定两个半径
17.3.3 不显示边框的时候
17.3.4 修改边框种类的时候
17.3.5 绘制四个角不同半径的圆角边框
17.4 使用图像边框
17.4.1 border-image属性
17.4.2 border-image属性最简单的使用方法
17.4.3 使用border-image属性来指定边框宽度
17.4.4 中央图像的自动拉伸
17.4.5 指定四条边中图像的显示方法
17.4.6 使用背景图像
第18章 CSS 3中的变形处理
18.1 transform功能的基础知识
18.1.1 如何使用transform功能
18.1.2 transform功能的分类
18.2 对一个元素使用多种变形的方法
18.2.1 两个变形示例
18.2.2 指定变形的基准点
第19章 CSS 3中的动画功能
19.1 Transitions功能
19.1.1 Transitions功能的使用方法
19.1.2 使用Transitions功能同时平滑过渡多个属性值
19.2 Animations功能
19.2.1 Animations功能的使用方法
19.2.2 实现多个属性值同时改变的动画
19.2.3 实现动画的方法
19.2.4 实现网页的淡入效果
第20章 布局相关样式
20.1 多栏布局
20.1.1 使用float属性或position属性的缺点
20.1.2 使用多栏布局方式
20.2 盒布局
20.2.1 盒布局的基础知识
20.2.2 弹性盒布局
第21章 Media Queries相关样式
21.1 根据浏览器的窗口大小来选择使用不同的样式
21.2 在iPhone中的显示
21.3 Media Queries的使用方法
第22章 CSS 3的其他重要样式和属性
22.1 颜色相关样式
22.1.1 利用alpha通道来设定颜色
22.1.2 alpha通道与opacity属性的区别
22.1.3 指定颜色值为transparent
22.2 用户界面相关样式
22.2.1 轮廓相关样式
22.2.2 resize属性
22.3 取消对元素的样式指定—initial属性值
22.3.1 取消对元素的样式指定
22.3.2 使用initial属性值并不等于取消样式设定的特例
第23章 综合实例
23.1 实例1:使用HTML 5中新增结构元素来构建网页
23.1.1 组织网页结构
23.1.2 header元素中的内容
23.1.3 aside元素中的内容
23.1.4 section元素中的内容
23.1.5 footer元素中的内容
23.2 实例2:使用HTML 5+CSS 3来构建Web应用程序
23.2.1 HTML 5页面代码分析
23.2.2 CSS 3样式代码分析
23.2.3 JavaScript脚本代码分析