第1章 理解Web的工作方式 1
1.1 HTML和WWW简史 2
1.2创建Web内容 2
1.3理解Web内容递送 3
1.4选择Web托管提供商 5
1.5利用多种Web浏览器执行测试 6
1.6创建一个示例文件 7
1.7使用FTP传输文件 8
1.7.1选择FTP客户端 8
1.7.2使用FTP客户端 9
1.8了解在Web服务器上放置文件的位置 11
1.8.1基本的文件管理 11
1.8.2使用索引页面 13
1.9在不涉及Web服务器的情况下分发内容 13
1.9.1在本地发布内容 14
1.9.2在博客上发布内容 14
1.10关于测试Web内容的提示 14
1.11小结 15
1.12问与答 16
1.13测验 16
1.13.1问题 16
1.13.2答案 17
1.13.3练习 17
第2章 构造HTML文档 18
2.1准备工作 19
2.2从一个简单的Web页面开始 19
2.3每个Web页面都必须具有的HTML标签 23
2.4利用段落和换行符组织页面 24
2.5利用标题组织内容 26
2.6理解语义元素 29
2.7以多种方式使用<header>元素 33
2.8理解<section>元素 34
2.9使用<article>元素 36
2.10实现<nav>元素 36
2.11何时使用<aside>元素 37
2.12有效地使用<footer>元素 38
2.13小结 39
2.14问与答 40
2.15 测验 41
2.15.1问题 41
2.15.2答案 41
2.15.3练习 42
第3章 理解层叠样式表 43
3.1 CSS的工作方式 44
3.2基本的样式表 45
3.3 CSS样式的基础知识 49
3.3.1基本的布局属性 50
3.3.2基本的格式化属性 51
3.4使用样式类 53
3.5使用样式ID 55
3.6内部样式表和内联样式 56
3.7小结 58
3.8问与答 59
3.9测验 59
3.9.1问题 59
3.9.2答案 60
3.9.3练习 60
第4章 理解JavaScript 61
4.1学习Web脚本编程的基础知识 62
4.1.1脚本和程序 62
4.1.2 JavaScript简介 62
4.2 JavaScript如何适应Web页面 63
4.2.1使用单独的JavaScript文件 64
4.2.2理解JavaScript事件 65
4.3探索JavaScript的能力 65
4.3.1改进导航 65
4.3.2验证表单 66
4.3.3特殊效果 66
4.3.4远程脚本调用(AJAX) 66
4.4利用JavaScript显示时间 66
4.4.1在变量中存储数据 67
4.4.2计算结果 68
4.4.3创建输出 68
4.4.4向Web页面中添加脚本 68
4.5测试脚本 70
4.5.1修改脚本 70
4.5.2处理JavaScript错误 72
4.6小结 73
4.7问与答 73
4.8作业 74
4.8.1测验 74
4.8.2答案 75
4.8.3练习 75
第5章 验证和调试代码 76
5.1验证Web内容 76
5.2使用Developer Tools调试HTML和CSS 78
5.2.1使用检查器调试HTML 80
5.2.2使用检查器调试CSS 84
5.3使用Developer Tools调试JavaScript代码 88
5.4小结 93
5.5问与答 93
5.6作业 93
5.6.1测验 93
5.6.2答案 94
5.6.3练习 94
第6章 处理字体、文本块、列表和表格 95
6.1处理特殊字符 96
6.2粗体、斜体和特殊的文本格式化 99
6.3调整字体 102
6.4使用Web字体 106
6.5在页面上对齐文本 108
6.5.1使用属性 108
6.5.2对齐块级元素 108
6.6三类HTML列表 110
6.7在列表内放置列表 112
6.8创建一个简单的表格 117
6.9控制表格大小 121
6.10表格内的对齐和跨越 123
6.11利用表格进行页面布局 126
6.12使用CSS栏 127
6.13小结 130
6.14问与答 132
6.15测验 132
6.15.1问题 132
6.15.2答案 133
6.15.3练习 133
第7章 使用外部链接和内部链接 135
7.1使用Web地址 135
7.2使用锚在页面内链接 138
7.2.1利用锚标识页面中的位置 138
7.2.2链接到锚位置 138
7.3在自己的Web内容之间创建链接 141
7.4链接到外部Web内容 144
7.5链接到电子邮件地址 144
7.6在新的浏览器窗口中打开链接 146
7.7使用CSS编排超链接的样式 146
7.8小结 150
7.9问与答 150
7.10测验 151
7.10.1问题 151
7.10.2答案 151
7.10.3练习 152
第8章 处理颜色、图像和多媒体 153
8.1选择颜色的最佳实践 154
8.2理解Web颜色 155
8.3使用十六进制的颜色值 157
8.4使用CSS设置背景、文本和边框颜色 158
8.5选择图形软件 160
8.6关于图形需要知道的最少知识 161
8.7准备照片图像 162
8.7.1裁剪图像 163
8.7.2调整图像大小 164
8.7.3调整图像颜色 165
8.7.4控制JPEG压缩 166
8.8创建横幅和按钮 167
8.9减少或删除图像中的颜色 168
8.10创建拼贴式背景图像 169
8.11创建动画式Web图形 170
8.12在Web页面上放置图像 171
8.13利用文本描述图像 174
8.14指定图像的高度和宽度 174
8.15对齐图像 175
8.15.1水平图像对齐 175
8.15.2垂直图像对齐 177
8.16把图像转变成链接 179
8.17使用背景图像 181
8.18使用图像映射 182
8.18.1为什么图像映射并非总是必要的 183
8.18.2映射图像内的区域 184
8.18.3为图像映射创建HTML代码 184
8.19链接到多媒体文件 186
8.20嵌入多媒体文件 190
8.21为音频和视频播放使用纯HTML5代码 192
8.22关于使用多媒体的额外提示 195
8.23小结 196
8.24问与答 199
8.25测验 199
8.25.1问题 200
8.25.2答案 200
8.25.3练习 200
第9章 处理边距、填充、对齐和浮动 202
9.1使用边距 202
9.2填充元素 209
9.3使所有的一切保持对齐 212
9.4理解float属性 212
9.5小结 215
9.6问与答 215
9.7测验 215
9.7.1问题 215
9.7.2答案 216
9.7.3练习 216
第10章 理解CSS方框模型和定位 217
10.1 CSS方框模型 217
10.2关于定位的独家新闻 220
10.3控制元素的堆叠方式 224
10.4管理文本流 226
10.5小结 226
10.6问与答 227
10.7测验 227
10.7.1问题 227
10.7.2答案 227
10.7.3练习 228
第11章 使用CSS进一步处理列表、文本和导航 229
11.1 HTML列表复习 230
11.2 CSS方框模型如何影响列表 230
11.3放置列表项指示符 233
11.4利用列表项和CSS创建图像映射 234
11.5导航列表与常规的列表有何区别 237
11.6利用CSS创建垂直导航系统 238
11.6.1编排单级垂直导航系统的样式 240
11.6.2编排多级垂直导航系统的样式 242
11.7利用CSS创建水平导航系统 246
11.8小结 249
11.9问与答 250
11.10测验 250
11.10.1问题 251
11.10.2答案 251
11.10.3练习 251
第12章 创建固定布局或流动布局 252
12.1理解固定布局 253
12.2理解流动布局 254
12.3创建固定/流动混合布局 256
12.3.1从基本的布局结构开始 256
12.3.2在固定/流动混合布局中定义两栏 258
12.3.3设置布局的最小宽度 260
12.3.4在固定/流动混合布局中处理栏高度 260
12.4考虑响应性Web设计 265
12.5小结 266
12.6问与答 266
12.7测验 267
12.7.1问题 267
12.7.2答案 267
12.7.3练习 267
第13章 理解动态Web站点和HTML5应用程序 268
13.1理解不同类型的脚本 268
13.2在HTML中包括JavaScript代码 269
13.3显示随机内容 271
13.4理解文档对象模型 275
13.5基于用户交互更改图像 275
13.6提前考虑开发HTML5应用程序 277
13.7小结 278
13.8问与答 278
13.9测验 278
13.9.1问题 279
13.9.2答案 279
13.9.3练习 279
第14章 初识JavaScript程序设计 280
14.1基本概念 280
14.1.1语句 280
14.1.2把任务与函数相结合 281
14.1.3变量 282
14.1.4了解对象 282
14.1.5条件语句 283
14.1.6循环语句 283
14.1.7事件处理程序 283
14.1.8首先运行哪个脚本 285
14.2 JavaScript语法规则 286
14.2.1大小写敏感性 286
14.2.2变量、对象和函数名称 286
14.2.3保留字 286
14.2.4空白 286
14.3使用注释 287
14.4关于JavaScript的最佳实践 287
14.5理解JSON 288
14.6小结 289
14.7问与答 289
14.8作业 289
14.8.1测验 289
14.8.2答案 290
14.8.3练习 290
第15章 使用文档对象模型(DOM) 291
15.1了解文档对象模型 291
15.2使用window对象 292
15.3处理document对象 292
15.3.1获取关于文档的信息 293
15.3.2在文档中编写文本 294
15.3.3使用链接和锚 295
15.4访问浏览器的历史记录 295
15.5使用location对象 297
15.6关于DOM结构的更多知识 298
15.6.1节点 299
15.6.2父对象与子对象 299
15.6.3兄弟对象 300
15.7处理DOM节点 300
15.7.1基本的节点属性 300
15.7.2节点的关系属性 301
15.7.3文档方法 301
15.7.4节点方法 301
15.8创建可定位的元素(图层) 302
15.9隐藏和显示对象 306
15.10修改页面内的文本 308
15.11向页面中添加文本 309
15.12小结 311
15.13问与答 311
15.14作业 311
15.14.1测验 311
15.14.2答案 312
15.14.3练习 312
第16章 使用JavaScript变量、字符串和数组 314
16.1使用变量 314
16.1.1选择变量名 315
16.1.2使用局部变量和全局变量 315
16.1.3给变量赋值 316
16.2了解表达式和运算符 317
16.2.1使用JavaScript运算符 317
16.2.2运算符优先级 318
16.3 JavaScript中的数据类型 319
16.4在数据类型之间转换 320
16.5使用String对象 320
16.5.1创建String对象 321
16.5.2赋值 321
16.5.3计算字符串的长度 322
16.5.4转换字符串的大小写 323
16.6处理子串 323
16.6.1使用字符串的一部分 324
16.6.2获取单个字符 324
16.6.3查找子串 325
16.7使用数值型数组 325
16.7.1创建数值型数组 325
16.7.2了解数组长度 326
16.7.3访问数组元素 327
16.8使用字符串数组 327
16.8.1创建字符串数组 327
16.8.2拆分字符串 328
16.8.3对字符串数组进行排序 328
16.9对数值型数组进行排序 328
16.10小结 331
16.11问与答 331
16.12作业 332
16.12.1测验 332
16.12.2答案 333
16.12.3练习 333
第17章 使用JavaScript函数和对象 334
17.1使用函数 334
17.1.1定义函数 335
17.1.2调用函数 336
17.1.3返回值 338
17.2介绍对象 339
17.2.1创建对象 340
17.2.2了解方法 340
17.3使用对象简化脚本编程 341
17.3.1定义对象 341
17.3.2定义对象的方法 342
17.3.3创建对象的实例 343
17.4扩展内置对象 345
17.5使用Math对象 347
17.5.1四舍五入和截尾 347
17.5.2生成随机数 348
17.5.3其他Math方法 348
17.6使用Math方法 348
17.7处理日期 350
17.7.1创建Date对象 351
17.7.2设置Date值 351
17.7.3读取Date值 351
17.7.4处理时区 352
17.7.5在日期格式之间转换 352
17.8小结 353
17.9问与答 353
17.10作业 353
17.10.1测验 353
17.10.2答案 354
17.10.3练习 354
第18章 利用条件和循环控制流程 355
18.1 if语句 356
18.1.1条件运算符 356
18.1.2利用逻辑运算符把条件结合起来 357
18.1.3 else关键字 358
18.2使用简写的条件表达式 359
18.3利用if和else测试多个条件 359
18.3.1 HTML文件 360
18.3.2 JavaScript文件 361
18.4利用switch使用多个条件 362
18.5使用for循环 363
18.6使用while循环 365
18.7使用do…while循环 366
18.8使用循环 366
18.8.1创建无限循环 367
18.8.2退出循环 367
18.8.3继续执行循环 368
18.9遍历对象属性 368
18.10小结 371
18.11问与答 371
18.12作业 372
18.12.1测验 372
18.12.2答案 373
18.12.3练习 373
第19章 响应事件 374
19.1了解事件处理程序 374
19.1.1对象和事件 375
19.1.2创建事件处理程序 375
19.1.3利用JavaScript定义事件处理程序 376
19.1.4支持多个事件处理程序 376
19.1.5使用event对象 377
19.2使用鼠标事件 378
19.2.1移入和移出 379
19.2.2按下和释放(以及单击) 379
19.3使用键盘事件 382
19.4使用onload和onunload事件 384
19.5使用onclick更改<div>的外观 385
19.6小结 391
19.7问与答 391
19.8作业 391
19.8.1测验 391
19.8.2答案 392
19.8.3练习 392
第20章 使用窗口 393
20.1利用对象控制窗口 393
20.1.1 window对象的属性 393
20.1.2创建新窗口 394
20.1.3打开和关闭窗口 395
20.2移动和调整窗口 397
20.3使用定时器 398
20.4显示对话框 400
20.5小结 402
20.6问与答 402
20.7作业 402
20.7.1测验 403
20.7.2答案 403
20.7.3练习 403
第21章 JavaScript最佳实践 404
21.1脚本编程的最佳实践 404
21.1.1不要过度使用JavaScript 405
21.1.2内容、表示和行为 405
21.1.3优雅降级 406
21.1.4渐进增强 407
21.1.5添加事件处理程序 407
21.1.6 Web标准避免特定于浏览器 409
21.1.7很好地处理错误 409
21.1.8注解代码 410
21.1.9有用性 411
21.1.10可访问性 412
21.1.11设计模式 412
21.1.12尽可能地重用代码 412
21.2读取浏览器信息 413
21.2.1显示浏览器信息 414
21.2.2应对不诚实的浏览器 415
21.3跨浏览器的脚本编程 416
21.3.1特性检测 416
21.3.2应对浏览器的怪癖 417
21.4支持未启用JavaScript的浏览器 418
21.4.1使用<noscript>标签 418
21.4.2保持JavaScript是可选的 419
21.4.3避免错误 419
21.5小结 423
21.6问与答 423
21.7作业 423
21.7.1测验 423
21.7.2答案 424
21.7.3练习 424
第22章 使用第三方库和框架 425
22.1使用第三方JavaScript库 425
22.1.1 jQuery 426
22.1.2 Prototype 428
22.1.3 Script.aculo.us 428
22.1.4其他流行的JavaScript库 429
22.2使用第三方库添加JavaScript特效 429
22.3使用JavaScript框架 432
22.4小结 433
22.5问与答 434
22.6作业 434
22.6.1测验 434
22.6.2答案 435
22.6.3练习 435
第23章 详细探讨jQuery 436
23.1准备使用jQuery 436
23.2熟悉$(document).ready处理程序 437
23.3选择DOM和CSS内容 439
23.4操作HTML内容 439
23.4.1显示和隐藏元素 441
23.4.2制作元素的动画 442
23.5结合使用各种方法来创建jQuery动画 443
23.6利用jQuery处理事件 446
23.7小结 447
23.8问与答 448
23.9作业 448
23.9.1测验 448
23.9.2答案 449
23.9.3练习 449
第24章 利用jQuery UI创建丰富交互的先期步骤 450
24.1准备使用jQuery UI 450
24.2使用jQuery UI中的选择器 451
24.3利用jQuery UI定位UI元素 452
24.4应用jQuery UI特效 456
24.5把jQuery UI构件用于高级交互 463
24.5.1理解鼠标交互构件 464
24.5.2实现可拖动的项目 464
24.6接下来何去何从 472
24.7小结 473
24.8问与答 473
24.9作业 474
24.9.1测验 474
24.9.2答案 474
24.9.3练习 474
第25章 AJAX:远程脚本编程 475
25.1 AJAX简介 475
25.1.1 JavaScript客户(前端) 476
25.1.2服务器端脚本(后端) 476
25.1.3 XML 477
25.1.4流行的AJAX示例 477
25.2使用XMLHttpRequest 478
25.2.1创建请求 478
25.2.2打开uRL 478
25.2.3发送请求 478
25.2.4等待响应 479
25.2.5解释响应数据 479
25.3创建简单的AJAX库 479
25.3.1 ajaxRequest函数 480
25.3.2 ajaxResponse函数 480
25.3.3使用库 481
25.4使用库创建AJAX测验 481
25.4.1 HTML文件 481
25.4.2 XML文件 482
25.4.3 JavaScript文件 483
25.4.4测试示例 484
25.5调试基于AJAX的应用程序 485
25.6将jQuery的内置函数用于AJAX 490
25.7小结 491
25.8问与答 491
25.9作业 492
25.9.1测验 492
25.9.2答案 492
25.9.3练习 492
第26章 处理基于Web的表单 493
26.1 HTML表单的工作方式 494
26.2创建表单 494
26.3接受文本输入 499
26.4命名各种表单数据 500
26.5标记各种表单数据 501
26.6组合表单元素 502
26.7探索表单输入控件 503
26.7.1复选框 503
26.7.2单选按钮 505
26.7.3选择列表 506
26.7.4文本框、文本区及其他输入类型 508
26.8使用HTML5表单验证 509
26.9提交表单数据 512
26.10利用JavaScript访问表单元素 513
26.11显示来自表单的数据 513
26.12小结 515
26.13问与答 517
26.14作业 517
26.14.1测验 517
26.14.2答案 517
26.14.3练习 518
第27章 组织和管理Web站点 519
27.1当一个页面就足够时 520
27.2组织简单的站点 521
27.3组织较大的站点 524
27.4编写易于维护的代码 526
27.4.1利用注释给代码加注解 527
27.4.2缩进代码以使之清晰 528
27.5考虑版本控制 529
27.6使用HTML和CSS框架 530
27.7小结 531
27.8问与答 531
27.9作业 532
27.9.1测验 532
27.9.2答案 532
27.9.3练习 532