内容简介
作者简介
Adam Freeman
曾在多家名企担任高级职务,现为畅销技术图书作家,着有多部C、.NET和Java方面的大部头作品。其中ASP.NET 4高级程序设计第4版、精通ASP.NET MVC 3框架第3版销量均在同品种中名列前茅,备受读者推崇。HTML5权威指南是Freeman专门为网页开发新手和网页设计师打造的经典参考书,这本书秉承作者的一贯风格,幽默风趣、简约凝练、逻辑性强,是广大Web开发人员的必读经典。
本书目录
第一部分 开篇第1章 HTML5背景知识1
1.1HTML的历史2
JavaScript出场2
浏览器战争的结束3
插件称雄3
语义HTML浮出水面3
发展态势:HTML标准滞后于其使用4
1.2HTML5简介4
新标准4
引入原生多媒体支持5
引入可编程内容5
引入语义Web6
1.3HTML5现况6
浏览器对HTML5的支持情况6
网站对HTML5的支持情况6
1.4本书结构6
1.5HTML5的更多信息7
1.6小结7
第2章 准备工作8
2.1挑选浏览器8
2.2挑选HTML编辑器9
2.3挑选Web服务器9
2.4获取Node.js9
2.5获取示例代码10
2.6小结10
第3章 初探HTML11
3.1使用元素12
了解本章用到的元素13
使用空元素14
使用自闭合标签14
使用虚元素14
3.2使用元素属性16
一个元素应用多个属性16
使用布尔属性16
使用自定义属性17
3.3创建HTML文档17
外层结构18
元数据19
内容19
父元素、子元素、后代元素和兄弟元素20
了解元素类型20
3.4使用HTML实体21
3.5HTML5全局属性21
accesskey属性21
class属性22
contenteditable属性25
contextmenu属性25
dir属性26
draggable属性26
dropzone属性26
hidden属性26
id属性28
lang属性29
spellcheck属性29
style属性30
tabindex属性30
title属性31
3.6有用的HTML工具32
3.7小结32
第4章 初探CSS33
4.1定义和应用样式33
了解本章所用的CSS属性34
使用元素内嵌样式34
使用文档内嵌样式35
使用外部样式表37
4.2样式的层叠和继承40
浏览器样式40
用户样式41
样式如何层叠42
用重要样式调整层叠次序42
根据具体程度和定义次序解决同级样式冲突43
继承46
4.3CSS中的颜色48
4.4CSS中的长度49
绝对长度50
相对长度51
4.5其他CSS单位56
使用CSS角度56
使用CSS时间57
4.6测试CSS特性的支持情况57
4.7有用的CSS工具57
浏览器样式报告57
用SelectorGadget生成选择器58
用LESS改进CSS59
使用CSS框架59
4.8小结59
第5章 初探JavaScript60
5.1准备使用JavaScript61
5.2使用语句62
5.3定义和使用函数63
定义带参数的函数63
定义会返回结果的函数64
5.4使用变量和类型65
使用基本类型66
创建对象67
使用对象69
5.5使用JavaScript运算符73
相等和等同运算符73
显式类型转换76
5.6使用数组78
使用数组字面量79
读取和修改数组内容80
枚举数组内容80
使用内置的数组方法81
5.7处理错误81
5.8比较undefined和null值83
检查变量或属性是否为undefined或null85
区分null和undefined85
5.9常用的JavaScript工具86
使用JavaScript调试器86
使用JavaScript库86
5.10小结87
第二部分 HTML元素
第6章 HTML5元素背景知识90
6.1语义与呈现分离90
6.2元素选用原则91
少亦可为多91
别误用元素91
具体为佳,一以贯之91
对用户不要想当然92
6.3元素说明体例92
6.4元素速览92
文档和元数据元素92
文本元素93
对内容分组94
划分内容95
制表95
创建表单96
嵌入内容96
6.5未实现的元素97
6.6小结97
第7章 创建HTML文档98
7.1构筑基本的文档结构99
DOCTYPE元素99
html元素99
head元素100
body元素101
7.2用元数据元素说明文档102
设置文档标题102
设置相对URL的解析基准103
用元数据说明文档104
定义CSS样式108
指定外部资源112
7.3使用脚本元素116
script元素117
noscript元素123
7.4小结125
第8章 标记文字126
8.1生成超链接127
生成指向外部的超链接128
使用相对URL129
生成内部超链接129
设定浏览环境130
8.2用基本的文字元素标记内容131
表示关键词和产品名称131
加以强调132
表示外文词语或科技术语133
表示不准确或校正134
表示重要的文字135
为文字添加下划线136
添加小号字体内容137
添加上标和下标138
8.3换行139
强制换行139
指明可以安全换行的建议位置141
8.4表示输入和输出142
8.5使用标题引用、引文、定义和缩写143
表示缩写143
定义术语144
引用来自他处的内容145
引用其他作品的标题146
8.6使用语言元素147
ruby、rt和rp元素147
bdo元素149
bdi元素150
8.7其他文本元素152
表示一段一般性的内容152
突出显示文本153
表示添加和删除的内容155
表示时间和日期156
8.8小结157
第9章 组织内容158
9.1为什么要对内容分组158
9.2建立段落159
9.3使用div元素161
9.4使用预先编排好格式的内容163
9.5引用他处内容164
9.6添加主题分隔166
9.7将内容组织为列表169
ol元素169
ul元素171
li元素172
生成说明列表173
生成自定义列表174
9.8使用插图176
9.9小结178
第10章 文档分节179
10.1添加基本的标题179
10.2隐藏子标题182
10.3生成节185
10.4添加首部和尾部188
10.5添加导航区域191
10.6使用article194
10.7生成附注栏198
10.8提供联系信息201
10.9生成详情区域202
10.10小结205
第11章 表格元素206
11.1生成基本的表格206
11.2添加表头单元格209
11.3为表格添加结构211
表示表头和表格主题212
添加表脚214
11.4制作不规则表格216
11.5把表头与单元格关联起来220
11.6为表格添加标题221
11.7处理列223
11.8设置表格边框228
11.9小结230
第12章 表单231
12.1制作基本表单232
定义表单233
查看表单数据234
12.2配置表单236
配置表单的action属性236
配置HTTP方法属性237
配置数据编码237
控制表单的自动完成功能239
指定表单反馈信息的目标显示位置240
设置表单名称242
12.3在表单中添加说明标签242
12.4自动聚焦到某个input元素244
12.5禁用单个input元素245
12.6对表单元素编组246
为fieldset元素添加说明标签248
用fieldset禁用整组input元素249
12.7使用button元素250
用button元素提交表单251
用button元素重置表单252
把button作为一般元素使用253
12.8使用表单外的元素254
12.9小结254
第13章 定制input元素255
13.1用input元素输入文字256
设定元素大小256
设置初始值和占位式提示258
使用数据列表259
生成只读或被禁用的文本框262
指定文字方向数据的名称263
13.2用input元素输入密码263
13.3用input元素生成按钮266
13.4用input元素为输入数据把关267
用input元素获取数值268
用input元素获取指定范围内的数值270
用input元素获取布尔型输入271
用input元素生成一组固定选项273
用input元素获取有规定格式的字符串275
用input元素获取时间和日期277
用input元素获取颜色值279
13.5用input元素获取搜索用词281
13.6用input元素生成隐藏的数据项282
13.7用input元素生成图像按钮和分区响应图284
13.8用input元素上传文件286
13.9小结288
第14章 其他表单元素及输入验证289
14.1使用其他表单元素289
生成选项列表289
输入多行文字294
表示计算结果296
生成公开/私有密钥对297
14.2使用输入验证298
确保用户提供了一个值299
确保输入值位于某个范围内300
确保输入值与指定模式匹配301
确保输入值是电子邮箱地址或URL303
14.3禁用输入验证304
14.4小结305
第15章 嵌入内容306
15.1嵌入图像306
在超链接里嵌入图像308
创建客户端分区响应图310
15.2嵌入另一张HTML文档313
15.3通过插件嵌入内容315
使用embed元素315
使用object和param元素317
15.4object元素的其他用途319
使用object元素嵌入图像319
使用object元素创建分区响应图320
将object元素作为浏览上下文环境320
15.5嵌入数字表现形式321
显示进度321
显示范围里的值322
15.6其他嵌入元素324
嵌入音频和视频324
嵌入图形324
15.7小结324
第三部分 CSS
第16章 理解CSS326
16.1CSS标准化326
16.2盒模型327
16.3选择器简明参考328
16.4属性简明参考329
边框和背景属性329
盒模型属性331
布局属性332
文本属性332
过渡、动画和变换属性333
其他属性334
16.5小结334
第17章 使用CSS选择器第Ⅰ部分335
17.1使用CSS基本选择器335
选择所有元素336
根据类型选择元素337
根据类选择元素338
根据ID选择元素340
根据属性选择元素341
17.2复合选择器344
并集选择器344
后代选择器345
选择子元素347
选择兄弟元素349
17.3使用伪元素选择器351
使用::first-line选择器351
使用::first-letter选择器352
使用:before和:after选择器353
使用CSS计数器354
17.4小结356
第18章 使用CSS选择器第Ⅱ部分357
18.1使用结构性伪类选择器357
使用根元素选择器358
使用子元素选择器359
使用:nth-child选择器363
18.2使用UI伪类选择器364
选择启用或禁用元素364
选择已勾选的元素365
选择默认元素366
选择有效和无效的input元素367
选择限定范围的input元素369
选择必需和可选的input元素370
18.3使用动态伪类选择器371
使用:link和:visited选择器371
使用:hover选择器372
使用:active选择器373
使用:focus选择器374
18.4其他伪类选择器375
使用否定选择器376
使用:empty选择器376
使用:lang选择器377
使用:target选择器377
18.5小结379
第19章 使用边框和背景380
19.1应用边框样式380
定义边框宽度381
定义边框样式382
为一条边应用边框样式383
使用border简写属性384
创建圆角边框385
将图像用做边框388
19.2设置元素的背景392
设置背景颜色和图像392
设置背景图像的尺寸394
设置背景图像位置395
设置元素的背景附着方式396
设置背景图像的开始位置和裁剪样式397
使用background简写属性399
19.3创建盒子阴影400
19.4应用轮廓403
19.5小结405
第20章 使用盒模型406
20.1为元素应用内边距407
20.2为元素应用外边距409
20.3控制元素的尺寸410
设置一定尺寸的盒子412
设置最小和最大尺寸413
20.4处理溢出内容414
20.5控制元素的可见性417
20.6设置元素的盒类型419
认识块级元素420
认识行内元素421
认识行内?块级元素422
认识插入元素423
隐藏元素426
20.7创建浮动盒427
20.8小结433
第21章 创建布局434
21.1定位内容434
设置定位类型435
设置元素的层叠顺序437
21.2创建多列布局439
21.3创建弹性盒布局442
创建简单的弹性盒444
伸缩多个元素446
处理垂直空间447
处理最大尺寸448
21.4创建表格布局450
21.5小结453
第22章 设置文本样式454
22.1应用基本文本样式454
对齐文本455
处理空白457
指定文本方向460
指定单词、字母、行之间的间距461
控制断词462
首行缩进464
22.2文本装饰与大小写转换465
22.3创建文本阴影467
22.4使用字体468
选择字体469
设置字体大小470
设置字体样式和粗细472
22.5使用Web字体473
22.6小结475
第23章 过渡、动画和变换476
23.1使用过渡477
创建反向过渡480
选择中间值的计算方式481
23.2使用动画483
使用关键帧486
设置重复方向488
理解结束状态490
初始布局时应用动画491
重用关键帧492
为多个元素应用多个动画493
停止和启动动画495
23.3使用变换497
应用变换497
指定元素变换的起点498
将变换作为动画和过渡处理500
23.4小结501
第24章 其他CSS属性和特性502
24.1设置元素的颜色和透明度502
设置前景色502
设置元素的透明度504
24.2设置表格样式505
合并表格边框505
配置独立边框507
处理空单元格508
设置标题的位置509
指定表格布局511
24.3设置列表样式512
设置列表标记类型513
使用图像作为列表标记514
设置列表标记的位置515
24.4设置光标样式517
24.5小结518
第四部分 使用DOM
第25章 理解DOM520
25.1理解文档对象模型520
25.2理解DOM Level和兼容性522
25.3DOM快速查询524
Document的成员524
Window的成员525
HTMLElement的成员527
DOM里的CSS属性529
DOM中的事件531
25.4小结532
第26章 使用Document对象533
26.1使用Document元数据536
获取文档信息536
使用Location对象537
读取和写入cookie541
理解就绪状态542
获取DOM的实现情况543
26.2获取HTML元素对象544
使用属性获取元素对象545
使用数组标记获取已命名元素546
搜索元素548
合并进行链式搜索550
26.3在DOM树里导航552
26.4小结554
第27章 使用Window对象555
27.1获取Window对象555
27.2获取窗口信息556
27.3与窗口进行交互558
27.4对用户进行提示559
27.5获取基本信息561
27.6使用浏览器历史561
在浏览历史中导航562
在浏览历史里插入条目564
为不同的文档添加条目566
在浏览历史中保存复杂状态567
替换浏览历史中的条目570
27.7使用跨文档消息传递570
27.8使用计时器574
27.9小结576
第28章 使用DOM元素577
28.1使用元素对象577
使用类579
使用元素属性582
28.2使用Text对象586
28.3修改模型588
创建和删除元素589
复制元素591
移动元素592
比较元素对象593
使用HTML片段595
向文本块插入元素600
28.4小结601
第29章 为DOM元素设置样式602
29.1使用样式表602
获得样式表的基本信息603
使用媒介限制605
禁用样式表607
CSSRuleList对象的成员608
29.2使用元素样式611
29.3使用CSSStyleDeclaration对象613
使用便捷属性613
使用常规属性616
使用细粒度的CSS DOM对象620
29.4使用计算样式623
29.5小结625
第30章 使用事件626
30.1使用简单事件处理器627
实现简单的内联事件处理器627
实现一个简单的事件处理函数629
30.2使用DOM和事件对象630
按类型区分事件633
理解事件流634
使用可撤销事件641
30.3使用HTML事件642
文档和窗口事件642
使用鼠标事件643
使用键盘焦点事件645
使用键盘事件647
使用表单事件649
30.4小结649
第31章 使用元素专属对象650
31.1文档和元数据对象650
base元素650
body元素650
link元素651
meta元素651
script元素651
style元素652
title元素652
其他文档和元数据元素652
31.2文本元素652
a元素652
del和ins元素653
q元素653
time元素653
其他文本元素654
31.3分组元素654
blockquote元素654
li元素654
ol元素654
其他分组元素655
31.4区块元素655
details元素655
其他区块元素655
31.5表格元素655
col和colgroup元素655
table元素656
thead、tbody和tfoot元素656
th元素657
tr元素657
其他表格元素657
31.6表单元素657
button元素657
datalist元素658
fieldset元素658
form元素658
input元素659
label元素660
legend元素661
optgroup元素661
option元素661
output元素661
select元素662
textarea元素663
31.7内容元素663
area元素664
embed元素664
iframe元素664
img元素665
map元素665
meter元素665
object元素666
param元素666
progress元素667
31.8小结667
第五部分 高级功能
第32章 使用Ajax第Ⅰ部分670
32.1Ajax起步671
处理响应674
主流中的异类:应对Opera675
32.2使用Ajax事件677
32.3处理错误679
处理设置错误681
处理请求错误682
处理应用程序错误682
32.4获取和设置标头683
覆盖请求的HTTP方法683
禁用内容缓存685
读取响应标头685
32.5生成跨源Ajax请求687
使用Origin请求标头690
高级CORS功能691
32.6中止请求691
32.7小结693
第33章 使用Ajax第Ⅱ部分694
33.1准备向服务器发送数据694
定义服务器695
理解问题所在697
33.2发送表单数据698
33.3使用FormData对象发送表单数据701
创建FormData对象701
修改FormData对象702
33.4发送JSON数据703
33.5发送文件705
33.6追踪上传进度707
33.7请求并处理不同内容类型709
接收HTML片段709
接收XML数据712
接收JSON数据714
33.8小结715
第34章 使用多媒体716
34.1使用video元素717
预先加载视频718
显示占位图像720
设置视频尺寸720
指定视频来源和格式721
track元素724
34.2使用audio元素724
34.3通过DOM操作嵌入式媒体726
获得媒体信息726
评估回放能力728
控制媒体回放730
34.4小结733
第35章 使用canvas元素第Ⅰ部分734
35.1开始使用canvas元素735
35.2获取画布的上下文736
35.3绘制矩形737
35.4设置画布绘制状态739
设置线条连接样式741
设置填充和笔触样式742
使用渐变743
使用径向渐变748
使用图案751
35.5保存和恢复绘制状态753
35.6绘制图像755
使用视频图像756
使用画布图像759
35.7小结761
第36章 使用canvas元素第Ⅱ部分762
36.1用路径绘图762
用线条绘制路径763
绘制矩形766
36.2绘制圆弧768
使用arcTo方法768
使用arc方法772
36.3绘制贝塞尔曲线773
绘制三次贝塞尔曲线773
绘制二次贝塞尔曲线775
36.4创建剪辑区域777
36.5绘制文本778
36.6使用特效和变换780
使用阴影780
使用透明度781
使用合成782
使用变换784
36.7小结786
第37章 使用拖放787
37.1创建来源项目787
37.2创建释放区791
37.3使用DataTransfer对象794
根据数据过滤被拖动项目796
拖放文件797
37.4小结801
第38章 使用地理定位802
38.1使用地理定位802
38.2处理地理定位错误805
38.3指定地理定位选项807
38.4监控位置809
38.5小结810
第39章 使用Web存储811
39.1使用本地存储811
39.2使用会话存储815
39.3小结819
第40章 创建离线Web应用程序820
40.1定义问题820
40.2定义清单822
40.3检测浏览器状态827
40.4使用离线缓存828
制作更新832
获取更新832
应用更新833
40.5小结834
· · · · · ·


