HTML 5 与 CSS 3 权威指南
出版信息
陆凌牛 / 机械工业出版社华章公司 / 2011-4-7 / 69.00
内容简介
如果你是一位有前瞻性的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.1 迎接新的Web时代 / 2
1.1.1 HTML 5时代即将来临 / 2
1.1.2 HTML 5的目标 / 4
1.2 HTML 5会深受欢迎的理由 / 4
1.2.1 世界知名浏览器厂商对HTML 5的支持 / 4
1.2.2 第一个理由:时代的要求 / 5
1.2.3 第二个理由:Internet Explorer 8 / 6
1.3 可以放心使用HTML 5的三个理由 / 6
1.4 HTML 5要解决的三个问题 / 7
第 2 章 HTML 5与HTML 4的区别 / 9
2.1 语法的改变 / 10
2.1.1 HTML 5的语法变化 / 10
2.1.2 HTML 5中的标记方法 / 11
2.1.3 HTML 5确保了与之前HTML版本的兼容性 / 11
2.1.4 标记示例 / 13
2.2 新增的元素和废除的元素 / 13
2.2.1 新增的结构元素 / 13
2.2.2 新增的其他元素 / 15
2.2.3 新增的input元素的类型 / 19
2.2.4 废除的元素 / 19
2.3 新增的属性和废除的属性 / 20
2.3.1 新增的属性 / 20
2.3.2 废除的属性 / 21
2.4 全局属性 / 23
2.4.1 contentEditable属性 / 23
2.4.2 designMode属性 / 24
2.4.3 hidden属性 / 25
2.4.4 spellcheck属性 / 25
2.4.5 tabindex属性 / 25
第 3 章 HTML 5的结构 / 27
3.1 新增的主体结构元素 / 28
3.1.1 article元素 / 28
3.1.2 section元素 / 30
3.1.3 nav元素 / 32
3.1.4 aside元素 /33
3.1.5 time元素与微格式 / 35
3.1.6 pubdate属性 / 36
3.2 新增的非主体结构元素 / 36
3.2.1 header元素 / 37
3.2.2 hgroup元素 / 38
3.2.3 footer元素 / 38
3.2.4 address元素 / 39
3.3 HTML 5结构 / 40
3.3.1 大纲 / 40
3.3.2 对新的结构元素使用样式 / 43
3.3.3 article元素的样式 / 44
第 4 章 表单与文件 / 45
4.1 新增元素与属性 / 46
4.1.1 新增属性 / 46
4.1.2 大幅度地增加与改良了input元素的种类 / 49
4.1.3 对新的表单元素使用样式 / 54
4.1.4 output元素的追加 / 55
4.2 表单验证 / 55
4.2.1 自动验证 / 55
4.2.2 显式验证 / 57
4.2.3 取消验证 / 58
4.2.4 自定义错误信息 / 58
4.3 增强的页面元素 / 59
4.3.1 新增的figure元素与figcaption元素 / 60
4.3.2 新增的details元素 / 61
4.3.3 新增的mark元素 / 62
4.3.4 新增的progress元素 / 64
4.3.5 新增的meter元素 / 65
4.3.6 新增的menu元素与command元素 / 66
4.3.7 改良的ol列表 / 66
4.3.8 改良的dl列表 / 67
4.3.9 加以严格限制的cite元素 / 68
4.3.10 重新定义的small元素 / 69
4.4 文件API / 69
4.4.1 FileList对象与file对象 / 69
4.4.2 Blob对象 / 70
4.4.3 FileReader接口 / 72
4.5 拖放API / 77
4.5.1 实现拖放的步骤 / 77
4.5.2 DataTransfer对象的属性与方法 / 80
4.5.3 设定拖放时的视觉效果 / 80
4.5.4 自定义拖放图标 / 81
第 5 章 绘制图形 / 82
5.1 canvas元素的基础知识 / 83
5.1.1 在页面中放置canvas元素 / 83
5.1.2 绘制矩形 / 84
5.2 使用路径 / 86
5.2.1 绘制圆形 / 86
5.2.2 如果没有关闭路径会怎么样 / 88
5.2.3 moveTo与lineTo / 90
5.2.4 使用bezierCurveTo绘制贝济埃曲线 / 91
5.3 绘制渐变图形 / 93
5.3.1 绘制线性渐变 / 93
5.3.2 绘制径向渐变 / 95
5.4 绘制变形图形 / 96
5.4.1 坐标变换 / 96
5.4.2 坐标变换与路径的结合使用 / 98
5.4.3 矩阵变换 / 99
5.5 图形组合 / 103
5.6 给图形绘制阴影 / 105
5.7 使用图像 / 107
5.7.1 绘制图像 / 107
5.7.2 图像平铺 / 109
5.7.3 图像裁剪 / 111
5.7.4 像素处理 / 113
5.8 绘制文字 / 115
5.9 补充知识 / 117
5.9.1 保存与恢复状态 / 117
5.9.2 保存文件 / 118
5.9.3 简单动画的制作 / 119
第 6 章 多媒体播放 / 122
6.1 video元素与audio元素的基础知识 / 123
6.1.1 HTML 4页面中播放视频或音频的方法 / 123
6.1.2 HTML 5页面中播放视频或音频的方法 / 124
6.2 属性 / 125
6.3 方法 / 129
6.4 事件 / 132
6.4.1 事件处理方式 / 132
6.4.2 事件介绍 / 132
6.4.3 事件捕捉示例 / 133
第 7 章 本地存储 / 135
7.1 Web Storage / 136
7.1.1 Web Storage是什么 / 136
7.1.2 简单Web留言本 / 139
7.1.3 作为简易数据库来利用 / 141
7.2 本地数据库 / 144
7.2.1 本地数据库的基本概念 / 144
7.2.2 用executeSql来执行查询 / 145
7.2.3 使用数据库实现Web留言本 / 146
7.2.4 transaction方法中的处理 / 149
第 8 章 离线应用程序 / 151
8.1 离线Web应用程序详解 / 152
8.1.1 新增的本地缓存 / 152
8.1.2 本地缓存与浏览器网页缓存的区别 / 152
8.2 manifest文件 / 153
8.3 浏览器与服务器的交互过程 / 155
8.4 applicationCache对象 / 156
8.4.1 swapCache方法 / 157
8.4.2 applicationCache对象的事件 / 158
第 9 章 通信API / 162
9.1 跨文档消息传输 / 163
9.1.1 跨文档消息传输的基本知识 / 163
9.1.2 跨文档消息传输示例 / 163
9.2 Web Sockets通信 / 166
9.2.1 Web Sockets通信的基本知识 / 166
9.2.2 使用Web Sockets API / 166
9.2.3 Web Sockets API使用示例 / 167
9.2.4 发送对象 / 168
第10章 使用Web Workers处理线程 / 170
10.1 基础知识 / 171
10.2 与线程进行数据的交互 / 174
10.3 线程嵌套 / 176
10.3.1 单层嵌套 / 176
10.3.2 在多个子线程中进行数据的交互 / 178
10.4 线程中可用的变量、函数与类 / 180
第11章 获取地理位置信息 / 181
11.1 Geolocation API的基本知识 / 182
11.1.1 取得当前地理位置 / 182
11.1.2 持续监视当前地理位置的信息 / 184
11.1.3 停止获取当前用户的地理位置信息 / 184
11.2 position对象 / 184
11.3 在页面上使用google地图 / 186
第12章 CSS 3概述 / 189
12.1 概要介绍 / 190
12.1.1 CSS 3是什么 / 190
12.1.2 CSS 3的历史 / 190
12.2 使用CSS 3能做什么 / 191
12.2.1 模块与模块化结构 / 191
12.2.2 一个简单的CSS 3示例 / 192
第13章 选择器 / 195
13.1 选择器概述 / 197
13.2 属性选择器 / 197
13.2.1 属性选择器是什么 / 197
13.2.2 CSS 3中的属性选择器 / 199
13.2.3 灵活运用属性选择器 / 200
13.3 结构性伪类选择器 / 201
13.3.1 CSS中的伪类选择器及伪元素 / 201
13.3.2 选择器root、not、empty和target / 205
13.3.3 选择器:first-child、last-child、nth-child和nth-last-child / 210
13.3.4 选择器:nth-of-type和nth-last-of-type / 214
13.3.5 循环使用样式 / 216
13.3.6 only-child选择器 / 218
13.4 UI元素状态伪类选择器 / 219
13.4.1 选择器:E:hover、E:active和E:focus / 220
13.4.2 E:enabled伪类选择器与E:disabled伪类选择器 / 222
13.4.3 E: read-only伪类选择器与E:read-write伪类选择器 / 223
13.4.4 伪类选择器:E:checked、E:default和E: indeterminate / 224
13.4.5 E::selection伪类选择器 / 226
13.5 通用兄弟元素选择器 / 228
第14章 使用选择器在页面中插入内容 / 230
14.1 使用选择器来插入文字 / 231
14.1.1 使用选择器来插入内容 / 231
14.1.2 指定个别元素不进行插入 / 232
14.2 插入图像文件 / 234
14.2.1 在标题前插入图像文件 / 234
14.2.2 插入图像文件的好处 / 234
14.2.3 将alt属性的值作为图像的标题来显示 / 236
14.3 使用content属性来插入项目编号 / 237
14.3.1 在多个标题前加上连续编号 / 237
14.3.2 在项目编号中追加文字 / 238
14.3.3 指定编号的样式 / 238
14.3.4 指定编号的种类 / 238
14.3.5 编号嵌套 / 239
14.3.6 中编号中嵌入大编号 / 240
14.3.7 在字符串两边添加嵌套文字符号 / 242
第15章 文字与字体相关样式 / 244
15.1 给文字添加阴影—text-shadow属性 / 245
15.1.1 text-shadow属性的使用方法 / 245
15.1.2 位移距离 / 247
15.1.3 阴影的模糊半径 / 247
15.1.4 阴影的颜色 / 248
15.1.5 指定多个阴影 / 248
15.2 让文本自动换行—word-break属性 / 249
15.2.1 依靠浏览器让文本自动换行 / 249
15.2.2 指定自动换行的处理方法 / 249
15.3 让长单词与URL地址自动换行—word-wrap属性 / 251
15.4 使用服务器端字体—Web Font与@font-face属性 / 251
15.4.1 在网页上显示服务器端字体 / 252
15.4.2 定义斜体或粗体字体 / 253
15.4.3 显示客户端本地的字体 / 255
15.4.4 属性值的指定 / 256
15.5 修改字体种类而保持字体尺寸不变—font-size-adjust属性 / 257
15.5.1 字体不同导致文字大小的不同 / 257
15.5.2 font-size-adjust属性的使用方法 / 259
15.5.3 浏览器对于aspect值的计算方法 / 259
15.5.4 font-size-adjust属性的使用示例 / 260
第16章 盒相关样式 / 262
16.1 盒的类型 / 263
16.1.1 盒的基本类型 / 263
16.1.2 inline-block类型 / 264
16.1.3 inline-table类型 / 270
16.1.4 list-item类型 / 272
16.1.5 run-in类型与compact类型 / 273
16.1.6 表格相关类型 / 274
16.1.7 none类型 / 276
16.1.8 各种浏览器对于各种盒类型的支持情况 / 277
16.2 对于盒中容纳不下的内容的显示 / 277
16.2.1 overflow属性 / 278
16.2.2 overflow-x属性与overflow-y属性 / 281
16.2.3 text-overflow属性 / 281
16.3 对盒使用阴影 / 283
16.3.1 box-shadow属性的使用方法 / 283
16.3.2 将参数设定为0 / 284
16.3.3 对盒内子元素使用阴影 / 285
16.3.4 对第一个文字或第一行使用阴影 / 286
16.3.5 对表格及单元格使用阴影 / 287
16.4 指定针对元素的宽度与高度的计算方法 / 288
16.4.1 box-sizing属性 / 288
16.4.2 为什么要使用box-sizing属性 / 291
第17章 与背景和边框相关样式 / 293
17.1 与背景相关的新增属性 / 294
17.1.1 指定背景的显示范围—background-clip属性 / 294
17.1.2 指定绘制背景图像的绘制起点—background-origin属性 / 296
17.1.3 指定背景图像的尺寸—background-size属性 / 299
17.1.4 指定内联元素背景图像进行平铺时的循环方式—background-break属性 / 301
17.2 在一个元素中显示多个背景图像 / 302
17.3 圆角边框的绘制 / 303
17.3.1 border-radius属性 / 304
17.3.2 在border-radius属性中指定两个半径 / 305
17.3.3 不显示边框的时候 / 306
17.3.4 修改边框种类的时候 / 306
17.3.5 绘制四个角不同半径的圆角边框 / 306
17.4 使用图像边框 / 307
17.4.1 border-image属性 / 307
17.4.2 border-image属性最简单的使用方法 / 308
17.4.3 使用border-image属性来指定边框宽度 / 310
17.4.4 中央图像的自动拉伸 / 311
17.4.5 指定四条边中图像的显示方法 / 312
17.4.6 使用背景图像 / 315
第18章 CSS 3中的变形处理 / 317
18.1 transform功能的基础知识 / 318
18.1.1 如何使用transform功能 / 318
18.1.2 transform功能的分类 / 319
18.2 对一个元素使用多种变形的方法 / 323
18.2.1 两个变形示例 / 323
18.2.2 指定变形的基准点 / 325
第19章 CSS 3中的动画功能 / 328
19.1 Transitions功能 / 329
19.1.1 Transitions功能的使用方法 / 329
19.1.2 使用Transitions功能同时平滑过渡多个属性值 / 330
19.2 Animations功能 / 333
19.2.1 Animations功能的使用方法 / 333
19.2.2 实现多个属性值同时改变的动画 / 335
19.2.3 实现动画的方法 / 337
19.2.4 实现网页的淡入效果 / 339
第20章 布局相关样式 / 340
20.1 多栏布局 / 341
20.1.1 使用float属性或position属性的缺点 / 341
20.1.2 使用多栏布局方式 / 343
20.2 盒布局 / 346
20.2.1 盒布局的基础知识 / 346
20.2.2 弹性盒布局 / 350
第21章 Media Queries相关样式 / 362
21.1 根据浏览器的窗口大小来选择使用不同的样式 / 363
21.2 在iPhone中的显示 / 367
21.3 Media Queries的使用方法 / 368
第22章 CSS 3的其他重要样式和属性 / 371
22.1 颜色相关样式 / 372
22.1.1 利用alpha通道来设定颜色 / 372
22.1.2 alpha通道与opacity属性的区别 / 374
22.1.3 指定颜色值为transparent / 376
22.2 用户界面相关样式 / 377
22.2.1 轮廓相关样式 / 377
22.2.2 resize属性 / 380
22.3 取消对元素的样式指定—initial属性值 / 381
22.3.1 取消对元素的样式指定 / 381
22.3.2 使用initial属性值并不等于取消样式设定的特例 / 383
第23章 综合实例 / 385
23.1 实例1:使用HTML 5中新增结构元素来构建网页 / 386
23.1.1 组织网页结构 / 386
23.1.2 header元素中的内容 / 388
23.1.3 aside元素中的内容 / 395
23.1.4 section元素中的内容 / 398
23.1.5 footer元素中的内容 / 400
23.2 实例2:使用HTML 5+CSS 3来构建Web应用程序 / 401
23.2.1 HTML 5页面代码分析 / 402
23.2.2 CSS 3样式代码分析 / 405
23.2.3 JavaScript脚本代码分析 / 409