第1章HTML5和CSS3简介 1
1.1什么是HTML5 1
1.2如何发展至今 2
1.3我们为什么应关注HTML5 4
1.4什么是CSS3 4
1.5我们为什么应关注CSS3 5
1.6在现实中,我们想做的是什么 6
1.6.1多种浏览器的市场 6
1.6.2不断发展的移动市场 7
1.7实际应用 8
第2章HTML5样式的标记 11
2.1 The HTML5 Herald简介 11
2.2基本的HTML5模板 12
2.2.1 Doctype 13
2.2.2 html元素 14
2.2.3 head元素 14
2.2.4公平竞争 16
2.2.5剩余部分是历史简介 17
2.3 HTML5常见问题 18
2.3.1为什么这些变更仍能够在旧版浏览器中工作 18
2.3.2是否需要关闭所有标签 20
2.3.3关于其他的基于XHTML的语法使用习惯 20
2.4定义页面结构 22
2.4.1 header元素 22
2.4.2 section元素 23
2.4.3 article元素 24
2.4.4 nav元素 25
2.4.5 aside元素 26
2.4.6 footer元素 27
2.5构建The HTML5 Herald 28
2.6小结 30
第3章 关于HTML5语义的更多内容 31
3.1关于内容类型的新视角 31
3.2文档大纲 33
3.3最新消息 34
3.4更多新元素 37
3.4.1 figurc和figcaption元素 37
3.4.2 mark元素 38
3.4.3 progress和meter元素 38
3.4.4 time元素 39
3.5对现有功能的更改 41
3.5.1单词“Deprecated”是被弃用的 41
3.5.2链接中的block元素 41
3.5.3黑体文本 41
3.5.4斜体文本 42
3.5.5大号和小号文体 43
3.5.6引起争议的cite元素 43
3.5.7描述(不是定义)列表 43
3.6其他新元素及功能 44
3.6.1 details元素 44
3.6.2自定义的有序列表 45
3.6.3作用域样式 45
3.6.4 script元素的async属性 45
3.7验证HTML5文档 46
3.8小结 48
第4章 HTML5表单 49
4.1工具箱中的相关工具 49
4.2 HTML5表单属性 51
4.2.1 required属性 51
4.2.2 placeholder属性 55
4.2.3 pattern属性 58
4.2.4 disabled属性 59
4.2.5 readonly属性 59
4.2.6 multiple属性 60
4.2.7 form属性 60
4.2.8 autocomplete属性 61
4.2.9 datalist元素和list属性 61
4.2.10 autofocus属性 62
4.3 HTML5新表单输入类型 62
4.3.1 search 63
4.3.2 Email Addresses 64
4.3.3 URL 65
4.3.4 Telephone Numbers 66
4.3.5 Numbers 66
4.3.6 Ranges 67
4.3.7 Colors 68
4.3.8 Dates和Times 69
4.4 HTML5中的其他新表单控件 71
4.4.1 output元素 72
4.4.2 keygen元素 72
4.5对现有表单控件及属性的更改 72
4.5.1 form元素 72
4.5.2 optgroup元素 73
4.5.3 textarea元素 73
4.6小结 73
第5章HTML5音频和视频 75
5.1历史简介 75
5.2目前状况 76
5.2.1视频容器格式 76
5.2.2视频编解码器 77
5.2.3音频编解码器 77
5.2.4当前浏览器使用哪种组合 77
5.3标记 78
5.3.1启用本机控件 78
5.3.2 autoplay属性 79
5.3.3 loop属性 80
5.3.4 preload属性 80
5.3.5 poster属性 81
5.3.6 audio属性 81
5.3.7添加对多种视频格式的支持 81
5.3.8资源顺序 82
5.3.9关于Internet Explorer6~8 83
5.3.10 MIME类型 85
5.4用于网络的视频文件解码 86
5.5创建自定义控件 86
5.5.1让我们从一些标记和设计开始 87
5.5.2介绍媒体元素API 88
5.5.3播放和暂停视频 90
5.5.4视频音轨的静音与取消静音 93
5.5.5视频结束播放的响应 94
5.5.6更新视频播放的时间 94
5.5.7媒体元素API的其他一些功能 97
5.6关于音频 99
5.7可访问的媒体 99
5.8小结 100
第6章CSS3简介 101
6.1改进旧版浏览器 101
6.2 CSS3选择器 102
6.2.1关系选择器 102
6.2.2属性选择器 104
6.2.3伪类 105
6.2.4结构化伪类 107
6.2.5伪元素和生成的内容 110
6.3 CSS3颜色 111
6.3.1 RGBA 112
6.3.2 HSL和HSLA 113
6.3.3不透明度 114
6.4实际应用 114
6.5圆角:border-radius 116
6.6投影 118
6.7文本阴影 122
6.8更多阴影 122
6.9小结 123
第7章CSS3渐变和多背景 125
7.1线性渐变 126
7.1.1W3C语法 127
7.1.2旧WebKit语法 130
7.1.3实际应用 131
7.1.4使用SVG的线性渐变 133
7.1.5使用Internet Explorer滤镜的线性渐变 135
7.1.6便捷的工具 136
7.2径向渐变 136
7.2.1W3C语法 137
7.2.2旧WebKit语法 139
7.2.3实际应用 140
7.3重复渐变 141
7.4多背景图像 142
7.5背景大小 145
7.6小结 147
第8章CSS3转换和过渡 149
8.1转换 149
8.1.1平移 150
8.1.2缩放 152
8.1.3旋转 153
8.1.4倾斜 154
8.1.5更改转换的原点 154
8.1.6对Internet Explorer 8及更早版本的支持 155
8.2过渡 156
8.2.1 transition-property 157
8.2.2 transition-duration 158
8.2.3 transition-timing-function 159
8.2.4 transition-delay 160
8.2.5 transition简写属性 160
8.2.6多个过渡 161
8.3动画 162
8.3.1关键帧 162
8.3.2动画属性 164
8.4小结 167
第9章 嵌入字体和多列布局 169
9.1 Web字体和@font-face 169
9.1.1实现@font-face 170
9.1.2声明字体来源 172
9.1.3字体属性描述符 174
9.1.4 Unicode范围 175
9.1.5应用字体 176
9.1.6法律因素 176
9.1.7创建各种字体文件类型:Font Squirrel 177
9.1.8其他考虑因素 180
9.2 CSS3多列布局 180
9.2.1 column-count属性 181
9.2.2 column-gap属性 182
9.2.3 column-width属性 182
9.2.4 columns简写属性 184
9.2.5列和height属性 184
9.2.6其他列功能 185
9.2.7其他考虑因素 186
9.2.8渐进增强 187
9.3媒体查询 188
9.3.1什么是媒体查询 188
9.3.2语法 189
9.3.3媒体查询的灵活性 190
9.3.4浏览器支持 190
9.3.5其他阅读材料 191
9.4小结 191
第10章 地理定位、离线Web应用和Web存储 193
10.1地理定位 194
10.1.1隐私问题 195
10.1.2地理定位方法 195
10.1.3使用Modernizr检查支持 196
10.1.4获取当前位置 196
10.1.5地理定位的Position对象 197
10.1.6获取经度和纬度 198
10.1.7加载地图 199
10.1.8关于旧式移动设备的结束语 204
10.2离线Web应用 204
10.2.1工作原理:HTML5应用程序缓存 205
10.2.2设置站点离线工作 205
10.2.3获取离线存储站点的权限 208
10.2.4离线测试 208
10.2.5使The HTML5 Herald离线可用 210
10.2.6离线Web应用存储的限制 211
10.2.7后备部分 211
10.2.8刷新缓存 213
10.2.9我们在线吗 214
10.2.10其他阅读材料 215
10.3 Web存储 215
10.3.1两种存储 216
10.3.2 Web存储数据的外观 217
10.3.3获取和设置数据 218
10.3.4转换存储的数据 218
10.3.5快捷方式 219
10.3.6删除条目和清除数据 219
10.3.7存储限制 219
10.3.8安全考虑 220
10.3.9将Web存储添加到The HTML5 Herald 221
10.3.10用网页审查工具查看Web存储值 224
10.4其他HTML5 API 226
10.4.1网络工作者 226
10.4.2网络套接字 227
10.4.3 Web SQL和IndexedDB 227
10.5返回到绘制面板 228
第11章 画布、SVG和拖放 229
11.1画布 229
11.1.1关于画布的一些历史 230
11.1.2创建画布元素 230
11.1.3在画布上绘制 232
11.1.4获取背景 232
11.1.5用颜色填充画笔 233
11.1.6在画布上绘制矩形 234
11.1.7画布坐标系统 234
11.1.8 fillStyle的变化 235
11.1.9通过创建路径绘制其他形状 237
11.1.10存储画布绘制 240
11.1.11在画布上绘制图像 241
11.1.12处理图像 243
11.1.13将彩色图像转换为黑白图像 244
11.1.14 getlmageData的安全性错误 247
11.1.15 用画布测试视频 247
11.1.16在画布上显示文字 250
11.1.17关注可访问性 254
11.1.18其他阅读材料 254
11.2 SVG 254
11.2.1在SVG上绘制 255
11.2.2使用Inkscape创建SVG图像 258
11.2.3 SVG过滤器 258
11.2.4使用Rapha?l库 259
11.2.5画布与SVG 261
11.3拖放 262
11.3.1给WAI-ARIA猫喂食 263
11.3.2使元素可拖动 264
11.3.3 DataTransfer对象 265
11.3.4接受可以放下的元素 266
11.3.5其他阅读材料 269
11.4结束了,朋友们! 269
附录A Modernizr 271
附录B WAI-ARIA 277
附录C微数据 281