HTML5和CSS3实例教程
出版信息
Brian P.Hogan / 李杰、刘晓娜、柳靖、朱嵬 / 人民邮电出版社 / 2012-1 / 39.00元
内容简介
《HTML5和CSS3实例教程》共分3部分,集中讨论了HTML5和CSS3规范及其技术的使用方法。首先是规范概述,介绍了新的结构化标签、表单域及其功能(包括自动聚焦功能和占位文本)和CSS3的新选择器。接下来是HTML对视频和音频的支持,讲述了画布上的图形绘制及CSS阴影、渐变和变换的使用方法。最后介绍使用HTML5的客户端特性(包括WebStorage、WebSQLDatabases以及离线支持)建立客户端应用,使用HTML5实现跨域消息和数据传送,以及操作浏览器历史等的方法。《HTML5和CSS3实例教程》适合所有使用HTML和CSS的Web开发人员学习参考。
作者简介
Brian P. Hogan 1995年起便开始以自由职业者的身份开发专业网站并提供咨询服务,目前常使用Ruby、jQuery、HTML5和CSS3构建Web应用。他乐于讲述 并撰写与Web设计和开发有关的内容,倡导为残障人士(特别是视觉障碍者)研发辅助功能。
目录
第1 章 HTML5 和CSS3 概述......................1
1.1 一个新的Web 开发平台...........................1
1.1.1 更多的描述性标记.........................1
1.1.2 较少依赖于插件的多媒体支持.....1
1.1.3 更强大的Web 应用.......................2
1.1.4 跨文档消息通信............................2
1.1.5 Web Sockets...................................2
1.1.6 客户端存储....................................2
1.1.7 更精美的界面................................2
1.1.8 更强大的表单................................2
1.1.9 提升可访问性................................3
1.1.10 先进的选择器..............................3
1.1.11 视觉效果......................................3
1.2 向后兼容....................................................3
1.3 未来之路崎岖不平....................................4
1.3.1 IE ...................................................5
1.3.2 可访问性........................................5
1.3.3 废弃的标签....................................6
1.3.4 企业利益的竞争............................7
1.3.5 HTML5 和CSS3 仍在改进............8
第一部分 改善用户界面
第2 章 新的结构标签和属性.......................10
2.1 实例1:用语义化标记重定义博客.........11
2.1.1 以正确的文档类型声明为
基础.............................................13
2.1.2 头部.............................................13
2.1.3 尾部.............................................14
2.1.4 导航.............................................14
2.1.5 区段和文章..................................15
2.1.6 文章.............................................16
2.1.7 旁白和侧边栏..............................17
2.1.8 旁白绝非页面侧边栏..................18
2.1.9 添加样式......................................19
2.1.10 回退...........................................21
2.2 实例2:使用自定义数据属性创建
弹出窗口.................................................22
2.2.1 行为与内容的分离,或者说
为什么设置onclick 不好.........22
2.2.2 提升可访问性..............................23
2.2.3 废弃onclick .............................23
2.2.4 自定义数据属性来解围...............24
2.2.5 回退.............................................25
2.2.6 未来展望......................................25
第3 章 创建易用的Web 表单....................27
3.1 实例3:使用新的输入字段描述数据.....28
3.1.1 改进AwesomeCo 项目中的
表单.............................................28
3.1.2 创建基础表单..............................29
3.1.3 使用range 类型创建滑块..........29
3.1.4 使用选值框处理数字..................30
3.1.5 日期控件......................................30
3.1.6 email 类型..................................31
3.1.7 url 类型......................................31
3.1.8 color 类型..................................32
3.1.9 回退.............................................32
3.3.10 替换颜色选择器........................33
3.1.11 Modernizr ..................................34
3.2 案例4:使用autofocus 属性定位
第一个表单字段元素..............................34
回退.........................................................35
3.3 实例5:使用placeholder 属性进行
2 目 录
提示......................................................... 35
3.3.1 简单的注册表单.......................... 36
3.3.2 阻止自动完成.............................. 37
3.3.3 回退............................................. 38
3.4 实例6:基于contenteditable
属性实现在位编辑.................................. 42
3.4.1 账户表单...................................... 42
3.4.2 持久化数据.................................. 44
3.4.3 回退............................................. 44
3.4.4 创批建编辑页面.......................... 44
3.4.5 未来展望...................................... 47
第4 章 用CSS3 打造更好的用户界面......48
4.1 实例7:使用伪类渲染表格.................... 49
4.1.1 优化付款清单样式...................... 49
4.1.2 使用:nth-of-type 条纹化
表格的行..................................... 51
4.1.3 使用:nth-child 对齐列文本.... 52
4.1.4 使用:last-child 加粗最后
一行............................................. 53
4.1.5 使用:nth-last-child 向前
查找元素..................................... 54
4.1.6 回退............................................. 55
4.1.7 修改html 代码............................. 55
4.1.8 使用JavaScript ............................ 56
4.2 实例8:使用:after 和content
支持打印页面上的链接.......................... 57
4.2.1 使用CSS ..................................... 57
4.2.2 回退............................................. 58
4.3 实例9:创建多列布局............................ 60
4.3.1 分栏............................................. 60
4.3.2 回退............................................. 63
4.4 实例10:使用媒体查询构建移动设备
界面......................................................... 65
4.4.1 回退............................................. 66
4.4.2 未来展望...................................... 66
第5 章 增强可访问性................................... 67
5.1 实例11:使用ARIA 角色提供导航
提示......................................................... 68
5.1.1 标志角色...................................... 68
5.1.2 文档结构角色.............................. 70
5.1.3 回退............................................. 71
5.2 实例12:创建可访问的可更新区域...... 71
5.2.1 创建页面..................................... 72
5.2.2 polite 和assertive 更新...... 74
5.2.3 atomic 更新............................... 74
5.2.4 隐藏区域..................................... 74
5.2.5 回退............................................. 76
5.2.6 未来展望..................................... 76
第二部分 新的影音解决方案
第6 章 在canvas 上绘图........................ 78
6.1 实例13:绘制logo................................. 78
6.1.1 绘制logo ..................................... 80
6.1.2 添加文字..................................... 81
6.1.3 绘制线条..................................... 81
6.1.4 移动原点..................................... 82
6.1.5 添加颜色..................................... 83
6.1.6 回退............................................. 84
6.2 实例14:使用RGraph 绘制统计图........ 84
6.2.1 使用HTML 描述数据................. 85
6.2.2 将HTML 内容转换为条形图...... 86
6.2.3 显示备用内容.............................. 87
6.2.4 回退............................................. 88
6.2.5 未来展望..................................... 90
第7 章 嵌入音频和视频............................... 92
7.1 发展历史................................................. 92
7.2 容器和编解码器...................................... 93
7.2.1 视频编解码器.............................. 94
7.2.2 音频编解码器.............................. 95
7.2.3 容器和编解码器协同工作........... 96
7.3 实例15:音频......................................... 96
7.3.1 建立基本列表.............................. 97
7.3.2 回退............................................. 98
7.4 实例16:嵌入视频................................. 99
7.4.1 回退........................................... 101
7.4.2 HTML5 视频的限制.................. 103
7.4.3 Audio、Video 和可访问性........ 104
7.4.4 未来展望................................... 105
第8 章 柔化视觉体验................................. 106
8.1 实例17:创建圆角............................... 106
8.1.1 圆角化登录表单........................107
8.1.2 特定于浏览器的选择器.............108
8.1.3 回退...........................................109
8.1.4 检测对圆角的支持.....................109
8.1.5 jQuery Corners ...........................110
8.1.6 自制表单圆角插件.....................111
8.1.7 生成圆角....................................111
8.1.8 微调...........................................112
8.2 实例18:使用阴影、渐变和变换.........113
8.2.1 基础结构....................................113
8.2.2 增加渐变....................................115
8.2.3 给标志加上阴影........................115
8.2.4 旋转标志....................................116
8.2.5 调节背景的透明度.....................117
8.2.6 回退...........................................118
8.2.7 旋转...........................................119
8.2.8 渐变...........................................119
8.2.9 透明度........................................120
8.2.10 整合.........................................120
8.3 实例19:使用自定义字体....................122
8.3.1 @font-face .................................122
8.3.2 字体格式....................................123
8.3.3 改变字体....................................124
8.3.4 回退...........................................125
8.3.5 未来展望....................................126
第三部分 HTMl5 延伸
第9 章 客户端数据的使用.........................128
9.1 实例20:使用localStorage 保存参数
设置.......................................................129
9.1.1 创建参数表单............................130
9.1.2 保存和加载设置........................131
9.1.3 应用设置....................................132
9.1.4 回退...........................................132
9.2 实例21:在客户端关系数据库中保
存数据...................................................135
9.2.1 浏览器中的CRUD ....................135
9.2.2 留言的前端展现........................136
9.2.3 连接数据库................................138
9.2.4 创建留言表................................139
9.2.5 加载留言....................................139
9.2.6 获取指定记录............................140
9.2.7 插入、更新和删除记录.............141
9.2.8 包装...........................................143
9.2.9 回退...........................................144
9.3 实例22:离线运行...............................145
9.3.1 使用manifest 定义缓存.............145
9.3.2 manifest 和缓存.........................146
9.3.3 未来展望....................................147
第10 章 使用其他API 锦上添花.............148
10.1 实例23:维护历史记录......................148
10.1.1 保存当前状态........................149
10.1.2 获取先前状态........................149
10.1.3 默认状态................................150
10.1.4 回退........................................150
10.2 实例24:跨域对话.............................151
10.2.1 联系人列表............................152
10.2.2 发送消息................................153
10.2.3 支持页面................................153
10.2.4 接收消息................................155
10.2.5 回退........................................156
10.3 实例25:使用Web Sockets 进行
即时通信..............................................157
10.3.1 即时通信界面........................157
10.3.2 与服务器交互........................159
10.3.3 回退........................................160
10.3.4 什么是Flash 套接字策略......161
10.3.5 服务器....................................162
10.4 实例26:Geolocation .........................162
10.4.1 定位Awesomeness ................163
10.4.2 如何定位................................163
10.4.3 回退........................................164
10.4.4 未来展望................................166
第11 章 未来的发展方向...........................167
11.1 CSS3 变换............................................167
时间函数...............................................168
11.2 Web Workers .......................................170
11.3 原生拖放支持......................................171
11.3.1 拖放事件................................172
11.3.2 释放元素................................173
11.3.3 修改样式................................ 174
11.3.4 拖动文件................................ 175
11.3.5 并不完美................................ 175
11.4 WebGL ................................................ 176
11.5 Indexed Database API.......................... 176
11.6 客户端表单验证.................................. 176
11.7 前进! ................................................. 177
附录A 功能快速索引.................................. 178
A.1 新元素.................................................. 178
A.2 属性...................................................... 178
A.3 表单...................................................... 178
A.4 表单字段属性....................................... 179
A.5 可访问性............................................... 179
A.6 多媒体.................................................. 180
A.7 CSS3 ..................................................... 180
A.8 客户端存储........................................... 181
A.9 其他API ............................................... 182
附录B jQuery 入门..................................... 183
B.1 加载jQuery .......................................... 183
B.2 jQuery 基础........................................... 183
B.3 修改内容的方法................................... 184
B.3.1 hide 和show............................. 184
B.3.2 html、val 和attr....................... 184
B.3.3 append、prepend 和wrap ........ 185
B.3.4 CSS 和类.................................. 185
B.3.5 链............................................. 186
B.4 创建元素............................................... 186
B.5 事件...................................................... 187
B.5.1 绑定.......................................... 187
B.5.2 原始事件.................................. 187
B.6 document.ready..................................... 188
附录C 音频和视频编码............................. 189
C.1 音频编码............................................... 189
C.2 为Web 进行视频编码.......................... 189
附录D 资源.................................................. 191
附录E 参考书目.......................................... 193