第1章 为Web结构化文档 1
1.1结构化文档组成的Web 1
1.2 HTML和XHTML简介 2
1.2.1标签和元素 4
1.2.2标题和正文 4
1.2.3元素特性 5
1.2.4通过查看源代码学习 7
1.2.5标记文本的元素 7
1.3基本文本格式化 8
1.3.1空白和流 8
1.3.2使用hn元素创建标题 9
1.3.3 align特性(弃用) 11
1.3.4使用<p>元素创建段落 12
1.3.5使用<br/>元素创建换行符 12
1.3.6使用<pre>元素创建预先格式化的文本 13
1.4表示元素 16
1.4.1 <b>元素 16
1.4.2 <i>元素 16
1.4.3 <u>元素(弃用) 17
1.4.4 <s>元素和<strike>元素(弃用) 17
1.4.5 <tt>元素 17
1.4.6 <sup>元素 17
1.4.7 <sub>元素 18
1.4.8 <big>元素 18
1.4.9 <small>元素 18
1.4.10 <hr/>元素 18
1.5短语元素 18
1.5.1用于添加强调的<em>元素 19
1.5.2用于添加着重强调的<strong>元素 19
1.5.3用于地址的<address>元素 20
1.5.4用于缩写词的<abbr>元素 20
1.5.5用于首字母缩略词的<acronym>元素 20
1.5.6用于特殊术语的<dfn>元素 21
1.5.7用于引用文本的<blockquote>元素 21
1.5.8在<blockquote>元素中使用cite特性 22
1.5.9用于短引用的<q>元素 22
1.5.10用于引证的<cite>元素 22
1.5.11用于代码的<code>元素 23
1.5.12用于通过键盘输入文本的<kbd>元素 24
1.5.13用于编程变量的<var>元素 24
1.5.14用于程序输出的<samp>元素 24
1.6列表 24
1.6.1利用<ul>元素创建无序列表 25
1.6.2有序列表 25
1.6.3定义列表 26
1.6.4嵌套列表 27
1.7编辑文本 29
1.8利用字符实体表示特殊字符 31
1.9注释 31
1.10 <font>元素(弃用) 32
1.11理解块级别元素和内联元素 32
1.12使用<div>元素和<span>元素对元素进行分组 33
1.12.1 XML声明 33
1.12.2文档类型声明 34
1.13核心元素和特性 35
1.13.1 <html>元素 35
1.13.2 <head>元素 36
1.13.3 <title>元素 36
1.13.4 <body>元素 37
1.14特性组 37
1.14.1核心特性 37
1.14.2国际化特性 39
1.14.3 UI事件特性 41
1.15本章小结 41
1.16练习 42
第2章 链接和导航 43
2.1基本链接 43
2.1.1链接到其他网页 43
2.1.2链接到E-mail地址 45
2.2理解目录和目录结构 47
2.3 URL简介 48
2.3.1绝对URL和相对URL 50
2.3.2 <base>元素 52
2.4使用<a>元素创建链接 52
2.4.1使用href特性创建源锚点 52
2.4.2使用name特性和id特性创建目标锚点(链接到网页的特定部分) 53
2.4.3 <a>元素的其他特性 55
2.5高级E-mail链接 60
2.6本章小结 61
2.7练习 62
第3章 图像、音频和视频 63
3.1使用<img>元素添加图像 63
3.1.1 src特性 64
3.1.2 alt特性 64
3.1.3 height特性和width特性 64
3.1.4 align特性(弃用) 66
3.1.5 border特性(弃用) 67
3.1.6 hspace特性和vspace特性(弃用) 67
3.1.7 ismap特性和usemap特性 67
3.1.8 longdesc特性 67
3.1.9 name特性(弃用) 68
3.2使用图像作为链接 69
3.3图像映射 70
3.3.1客户端图像映射 71
3.3.2服务器端图像映射 74
3.4选择正确的图像格式 75
3.4.1 GIF图像 76
3.4.2 GIF动画 79
3.4.3 JPEG图像 79
3.4.4 PNG图像 80
3.4.5保持较小的文件尺寸 81
3.5为网页添加Flash、视频和音频 83
3.5.1为网站添加Flash影片 84
3.5.2为网站添加视频 90
3.5.3使用Flash Video添加视频 91
3.5.4视频大小 93
3.5.5为网站添加音频 94
3.5.6当加载网页时自动播放音频和视频 98
3.5.7深入学习<object>元素和<param>元素 98
3.5.8 <param>元素 101
3.6本章小结 101
3.7练习 102
第4章 表格 105
4.1表格简介 105
4.2基本表格元素和特性 110
4.2.1创建表格的<table>元素 110
4.2.2包含表格行的<tr>元素 114
4.2.3表示单元格的<td>元素和<th>元素 116
4.3为表格添加<caption>元素 120
4.4对表格的部分进行分组 121
4.4.1使用colspan特性占据多列 121
4.4.2使用rowspan特性占据多行 122
4.4.3使用标题、主体和脚注划分表格 123
4.4.4使用<colgroup>元素对列进行分组 126
4.4.5使用<col>元素共享样式的列 127
4.5嵌套的表格 127
4.6表格的可访问性 129
4.6.1线性化表格的方式 129
4.6.2使用id、scope和 header特性 130
4.7本章小结 133
4.8练习 133
第5章 表单 135
5.1表单简介 135
5.2使用<form>元素创建表单 138
5.2.1 action特性 138
5.2.2 method特性 138
5.2.3 id特性 138
5.2.4 name特性(弃用) 139
5.2.5 onsubmit特性 139
5.2.6 onreset特性 139
5.2.7 enctype特性 140
5.2.8 accept-charset特性 140
5.2.9 accept特性 140
5.2.10 target特性 141
5.2.11空白和<form>元素 141
5.3表单控件 141
5.3.1文本输入 141
5.3.2按钮 146
5.3.3复选框 148
5.3.4单选按钮 150
5.3.5选择框 151
5.3.6文件选择框 156
5.3.7隐藏控件 157
5.3.8对象控件 158
5.4为控件创建标签与<label>元素 160
5.5使用<fieldset>元素和<legend>元素结构化表单 162
5.6焦点 163
5.6.1焦点移动顺序 164
5.6.2访问键 165
5.7禁用的和只读的控件 167
5.8向服务器发送表单数据 168
5.8.1 HTTP get方法 168
5.8.2 HTTP post方法 169
5.9本章小结 172
5.10练习 172
第6章 框架 175
6.1框架集简介 175
6.2使用框架的时机 178
6.3 <frameset>元素 178
6.3.1 cols特性 179
6.3.2 rows特性 181
6.3.3针对<frameset>元素的浏览器专用扩展 181
6.4 <frame>元素 183
6.4.1 src特性 183
6.4.2 name特性 184
6.4.3 frameborder特性 184
6.4.4 marginwidth特性和marginheight特性 184
6.4.5 noresize特性 185
6.4.6 scrolling特性 185
6.4.7 longdesc特性 185
6.5 <noframes>元素 185
6.6创建框架之间的链接 186
6.7使用<base>元素设置默认目标框架 188
6.8框架集嵌套 188
6.9使用<iframe>元素创建内联框架或浮动框架 190
6.10本章小结 195
6.11练习 196
第7章 层叠样式表 197
7.1 CSS简介 197
7.1.1一个基本示例 198
7.1.2继承 202
7.2添加CSS规则的位置 203
7.2.1 <link>元素 203
7.2.2 <style>元素 205
7.2.3外部CSS样式表的优点 205
7.3 CSS属性 206
7.4控制文本 207
7.4.1 font-family属性 208
7.4.2 font-size属性 209
7.4.3 font-weight属性 211
7.4.4 font-style属性 211
7.4.5 font-variant属性 212
7.4.6 font-stretch属性 212
7.4.7 font-size-adjust属性 213
7.5文本格式化 213
7.5.1 color属性 213
7.5.2 text-align属性 213
7.5.3 vertical-align属性 214
7.5.4 text-decoration属性 215
7.5.5 text-indent属性 216
7.5.6 text-shadow属性 217
7.5.7 text-transform属性 217
7.5.8 letter-spacing属性 218
7.5.9 word-spacing属性 219
7.5.10 white-space属性 219
7.5.11 direction属性 220
7.6文本伪类 220
7.6.1 first-letter伪类 220
7.6.2 first-line伪类 221
7.7选择器 223
7.7.1通用选择器 223
7.7.2类型选择器 223
7.7.3类选择器 224
7.7.4 id选择器 224
7.7.5子选择器 225
7.7.6派生选择器 225
7.7.7相邻兄弟选择器 225
7.7.8通用兄弟选择器 225
7.7.9使用子选择器和相邻兄弟选择器降低标记中类的依赖性 226
7.7.10特性选择器 227
7.8长度 228
7.8.1相对单位 229
7.8.2绝对单位 230
7.8.3百分比 230
7.9框模型简介 230
7.9.1演示框模型的示例 231
7.9.2边框属性 233
7.9.3 padding属性 235
7.9.4 margin属性 236
7.9.5框的范围 237
7.9.6 Internet Explorer框模型bug 242
7.10本章小结 246
7.11练习 247
第8章 更多层叠样式表 249
8.1链接 249
8.2背景 251
8.2.1 background-color属性 251
8.2.2 background-image属性 252
8.2.3 background-repeat属性 253
8.2.4 background-position属性(用于固定背景的位置) 254
8.2.5 background-attachment属性(用于水印) 255
8.2.6 background属性(简写形式) 256
8.3列表 256
8.3.1 list-style-type属性 257
8.3.2 list-style-position属性 258
8.3.3 list-style-image属性 259
8.3.4 list-style属性(简写形式) 259
8.4表格 259
8.4.1表格专用属性 261
8.4.2 border-collapse属性 261
8.4.3 border-spacing属性 262
8.4.4 empty-cells属性 263
8.4.5 caption-side属性 264
8.4.6 table-layout属性 264
8.5外边框 266
8.5.1 outline-width属性 266
8.5.2 outline-style属性 266
8.5.3 outline-color属性 267
8.5.4 outline属性(简写形式) 267
8.6 “:focus”伪类和“:active”伪类 267
8.7生成的内容 268
8.7.1“:before”和“:acter”伪元素 268
8.7.2 content属性 269
8.8其他属性 272
8.8.1 cursor属性 272
8.8.2 display属性 273
8.8.3 visibility属性 273
8.9附加规则 274
8.9.1 @import规则:模块化的样式表 274
8.9.2“!important”规则 275
8.9.3 @charset规则 275
8.10使用CSS进行定位和布局 276
8.10.1正常流 276
8.10.2 position属性 276
8.10.3框偏移属性 277
8.10.4相对定位 277
8.10.5绝对定位 278
8.10.6固定定位 279
8.10.7 z-index属性 280
8.10.8使用float属性浮动定位 281
8.10.9 clear属性 283
8.11本章小结 287
8.12练习 288
第9章 网页布局 291
9.1理解网站的访问者 292
9.1.1谁会访问网站 292
9.1.2用户为什么访问网站 293
9.1.3为了实现目标访问者需要了解的信息 294
9.1.4访问者访问网站的频率 295
9.1.5期望网站所能完成的工作 295
9.1.6优先考虑的信息 295
9.1.7分组和分类 296
9.1.8创建网站地图 296
9.1.9标识每个网页的关键元素 297
9.2网页的尺寸(与屏幕分辨率) 298
9.2.1理解屏幕尺寸 298
9.2.2固定宽度与流式设计 300
9.3设计网页 304
9.3.1组成与网格 305
9.3.2规划元素的位置 309
9.3.3访问者查看网页的方式 314
9.4编码设计 317
9.4.1 IE框模型bug 318
9.4.2使用网格 319
9.4.3多列布局 320
9.5针对移动设备进行开发 331
9.5.1理解媒体以及如何使用媒体 332
9.5.2移动开发策略 333
9.5.3构建移动网站 335
9.6本章小结 340
9.7练习 340
第10章 设计问题 343
10.1排版 343
10.1.1文本行的长度——度量 344
10.1.2字体尺寸 345
10.1.3选择字体 347
10.1.4文本行的高度——行间距 348
10.1.5 CSS重置 349
10.1.6文本行的高度——基准线网格 350
10.1.7字母之间的空白——字符间距 353
10.1.8空白 353
10.1.9分块 355
10.1.10对比度 356
10.2导航 357
10.2.1菜单 357
10.2.2链接 364
10.2.3网站搜索功能 367
10.3表格 368
10.3.1内边距 369
10.3.2标题 369
10.3.3隔行阴影 370
10.4表单 371
10.4.1设计表单之前的工作 371
10.4.2设计表单 373
10.4.3表单布局 377
10.5本章小结 390
10.6练习 390
第11章 学习JavaScript 393
11.1编程的定义 393
11.2为网页添加脚本的方式 395
11.2.1 JavaScript中的注释 397
11.2.2 <noscript>元素 398
11.3文档对象模型 399
11.3.1使用点符号访问值 400
11.3.2 document对象 401
11.3.3 forms集合 403
11.3.4表单元素 404
11.3.5 images集合 407
11.3.6对象的不同类型 409
11.4开始使用JavaScript编程 410
11.5变量 410
11.5.1为变量赋值 411
11.5.2变量的生命周期 411
11.6运算符 412
11.6.1算术运算符 412
11.6.2赋值运算符 412
11.6.3比较运算符 413
11.6.4逻辑或布尔运算符 414
11.6.5字符串运算符 414
11.7函数 414
11.7.1定义函数的方式 414
11.7.2调用函数的方式 415
11.7.3 return语句 415
11.8条件语句 416
11.8.1 if语句 416
11.8.2 if…else语句 417
11.8.3 switch语句 417
11.9循环 419
11.9.1 while循环 419
11.9.2 do…while循环 420
11.9.3 for循环 420
11.9.4无限循环和break语句 421
11.10事件 422
11.11内置对象 423
11.11.1字符串对象 423
11.11.2日期对象 426
11.11.3数学对象 428
11.11.4数组对象 430
11.11.5窗口对象 431
11.12编写JavaScript代码 433
11.12.1关于数据类型的注意事项 434
11.12.2关键字 434
11.13本章小结 435
11.14练习 435
第12章 使用JavaScript 437
12.1编写脚本的一些实用提示 437
12.1.1其他人是否已经编写过这个脚本 437
12.1.2可重用的函数 438
12.1.3使用外部JavaScript文件 438
12.1.4将脚本放置在scripts文件夹中 438
12.2表单验证 438
12.2.1验证的时机 439
12.2.2可以检查的内容 439
12.2.3检查表单的方式 439
12.2.4检查文本字段 440
12.2.5选择框选项 452
12.2.6单选按钮 453
12.2.7复选框 455
12.3增强表单 457
12.3.1为第一个表单项设置焦点 457
12.3.2自动在字段之间移动焦点 458
12.3.3禁用文本输入框 459
12.3.4大小写转换 460
12.3.5删除字段开头和结尾处的空格 461
12.3.6选择文本区域中的所有内容 462
12.3.7选中和取消选中所有复选框 463
12.4 JavaScript库 470
12.4.1利用Scriptaculous库创建动画效果 471
12.4.2利用Scriptaculous库拖放可排序列表 473
12.4.3创建轻型框 474
12.4.4创建模态窗口 475
12.4.5利用MochiKit库创建可排序的表格 477
12.4.6利用YUI库创建日历 479
12.4.7利用YUI库创建自动完成输入的文本输入框 480
12.5本章小结 482
12.6练习 482
第13章 在Web上发布网站 485
13.1 meta标签 486
13.1.1 name特性和content特性 486
13.1.2 http-equiv特性和content特性 488
13.1.3 scheme特性 490
13.2测试网站 490
13.2.1验证HTML、XHTML和CSS 491
13.2.2检查链接 493
13.2.3检查颜色深度 494
13.2.4可访问性检查工具 495
13.2.5使用不同版本的浏览器进行检查 495
13.2.6引导测试 496
13.2.7校对 497
13.3发布网站 497
13.3.1获取域名 497
13.3.2主机托管 498
13.3.3选择主机时的关键考虑事项 499
13.3.4使用FTP将网站上传到服务器 501
13.3.5目录结构和相对URL的重要性 502
13.4公布网站 503
13.4.1始终提及您的URL 503
13.4.2内容是上帝 504
13.4.3论坛、社区以及社会网络 504
13.4.4检查商业网站和目录 504
13.4.5相互链接 504
13.4.6分析竞争对手 505
13.4.7使用户能够很容易地链接到网站 505
13.4.8按点击付费的广告 506
13.4.9显示广告 506
13.4.10创建一个E-mail时事通讯 507
13.5理解您的访问者 507
13.5.1使用Google Analytics检查10项内容 508
13.5.2度量所有内容 509
13.6下一步学习的内容 510
13.6.1工具 510
13.6.2其他技术简介 513
13.7本章小结 517
第14章 核对清单 519
14.1搜索引擎优化核对清单 519
14.1.1在页技术 519
14.1.2标识关键词和短语 520
14.1.3离页技术 522
14.2可访问性核查清单 523
14.2.1设置文档 523
14.2.2结构化和语义化标记 523
14.2.3链接与导航 523
14.2.4图像和多媒体 524
14.2.5颜色 524
14.2.6表格 524
14.2.7表单 525
14.2.8样式表 525
14.2.9 JavaScript 525
14.2.10跳过链接 525
14.3 HTML和XHTML之间的区别 526
14.3.1所有标签名称和特性名称必须是小写 526
14.3.2所有特性必须具有一个由双引号给出的值 526
14.3.3元素必须嵌套并且不能重叠 526
14.3.4空元素必须包含一个结束斜杠 527
14.3.5脚本必须位于CDATA部分 527
14.4 HTML 5 527
14.4.1 HTML 5的语言兼容性 528
14.4.2样式标记将被删除 528
14.4.3新语义元素 528
14.4.4用于<input>元素type特性的新值 529
14.4.5新的多媒体元素 530
14.4.6新的API 530
附录A 习题答案 531
附录B XHTML元素参考 563
附录C CSS属性 591
附录D 颜色名和颜色值 617
附录E 字符编码 623
附录F 特殊字符 627
附录G 语言代码 637
附录H MIME媒体类型 641
附录I 弃用的和浏览器专用的标记 649