第1章 创建结构化文档 1
1.1 结构化文档组成的Web 1
1.2 XHTML简介 2
1.3 核心元素和属性 8
1.3.1 〈html〉元素 8
1.3.2 〈head〉元素 9
1.3.3 〈title〉元素 9
1.3.4 〈body〉元素 10
1.4 属性组 10
1.4.1 核心属性 11
1.4.2 国际化属性 12
1.4.3 UI事件 14
1.5 基本文本格式 14
1.5.1 空格和流 15
1.5.2 使用hn元素创建题头 16
1.5.3 使用〈p〉元素创建段落 18
1.5.4 使用〈br/〉元素创建换行 19
1.5.5 使用〈pre〉元素创建预先格式化的文本 20
1.6 表现元素 23
1.6.1 〈b〉元素 24
1.6.2 〈i〉元素 24
1.6.3 〈u〉元素(逐渐淘汰) 24
1.6.4 〈s〉元素和〈strike〉元素(逐渐淘汰) 24
1.6.5 〈tt〉元素 25
1.6.6 〈sup〉元素 25
1.6.7 〈sub〉元素 25
1.6.8 〈big〉元素 25
1.6.9 〈small〉元素 26
1.6.10 〈hr/〉元素 26
1.7 短语元素 26
1.7.1 〈em〉元素添加强调 27
1.7.2 〈strong〉元素添加着重强调 27
1.7.3 用于缩写词的〈abbr〉元素 28
1.7.4 用于首字母缩写词的〈acronym〉元素 28
1.7.5 用于特殊术语的〈dfn〉元素 29
1.7.6 用于引用文本的〈blockquote〉元素 29
1.7.7 用于短引用的〈q〉元素 30
1.7.8 用于引证的〈cite〉元素 31
1.7.9 用于代码的〈code〉元素 31
1.7.10 用于通过键盘输入的文本的〈kbd〉元素 31
1.7.11 用于编程变量的〈var〉元素 32
1.7.12 用于程序输出的〈samp〉元素 32
1.7.13 用于地址的〈address〉元素 32
1.8 列表 33
1.8.1 利用〈ul〉元素创建无序列表 33
1.8.2 有序列表 34
1.8.3 定义列表 36
1.8.4 列表的嵌套 37
1.9 编辑文本 40
1.9.1 使用〈ins〉元素指示新添加的文本 41
1.9.2 使用〈del〉元素指示删除的文本 42
1.10 利用字符实体表示特殊字符 42
1.11 注释 43
1.12 〈font〉元素(逐渐淘汰) 43
1.13 理解块级元素和内联元素 44
1.14 利用〈div〉元素和〈span〉元素分组元素 45
1.15 本章小结 45
1.16 练习 46
第2章 链接和导航 47
2.1 基本链接 47
2.1.1 链接到其他文档 48
2.1.2 链接到e-mail地址 50
2.2 理解目录和目录结构 50
2.2.1 链接的目标位置 52
2.2.2 URL的组成 52
2.2.3 绝对URL和相对URL 54
2.2.4 〈base〉元素 57
2.3 利用〈a〉元素创建链接 58
2.3.1 利用href属性创建源锚点 58
2.3.2 利用name和id属性创建目的地锚点(链接到页面的特定部分) 59
2.3.3 〈a〉元素的其他属性 60
2.4 高级e-mail链接 66
2.5 本章小结 67
2.6 练习 67
第3章 图像和对象 69
3.1 在站点中添加图像 69
3.1.1 图像格式的类型 70
3.1.2 位图图像 70
3.1.3 矢量图像 77
3.1.4 使用〈img〉元素添加图像 77
3.2 利用〈object〉元素添加其他对象 83
3.2.1 〈object〉元素的属性 84
3.2.2 〈param〉元素 87
3.2.3 在页面中添加Flash电影 87
3.3 使用图像作为链接 89
3.4 图像映射 90
3.4.1 服务器端图像映射 90
3.4.2 客户端图像映射 91
3.5 本章小结 94
3.6 练习 95
第4章 表 97
4.1 表简介 97
4.2 基本表元素和属性 100
4.2.1 创建表的〈table〉元素 100
4.2.2 包含表行的〈tr〉元素 104
4.2.3 表示表单元格的〈td〉元素和〈th〉元素 106
4.3 高级表 112
4.3.1 将表划分为表头、表主体和表尾 112
4.3.2 在表中添加〈caption〉 114
4.3.3 使用colspan属性跨越多列 114
4.3.4 使用rowspan属性跨越多行 115
4.3.5 使用〈colgroup〉元素分组列 116
4.3.6 利用〈col〉元素让列共享样式 118
4.4 表的可访问性问题 118
4.4.1 表的线性化 118
4.4.2 用于布局的表线性化 119
4.4.3 用于数据的表线性化 121
4.5 本章小结 121
4.6 练习 122
第5章 表单 123
5.1 表单简介 123
5.2 利用〈form〉元素创建表单 125
5.2.1 action属性 125
5.2.2 method属性 125
5.2.3 id属性 126
5.2.4 name属性(逐渐淘汰) 126
5.2.5 onsubmit属性 126
5.2.6 onreset属性 127
5.2.7 enctype属性 127
5.2.8 accept-charset属性 127
5.2.9 accept属性 128
5.2.10 target属性 128
5.2.11 空白和〈form〉元素 128
5.3 表单控件 128
5.3.1 文本输入 129
5.3.2 按钮 133
5.3.3 复选框 135
5.3.4 单选按钮 137
5.3.5 选项框 139
5.3.6 文件选项框 144
5.3.7 隐藏控件 145
5.3.8 对象控件 146
5.4 利用〈label〉元素为控件创建标签 150
5.5 利用〈fieldset〉元素和〈legend〉元素结构化表单 151
5.6 焦点 153
5.6.1 焦点移动顺序 154
5.6.2 访问键 155
5.7 禁用的或只读的控件 156
5.8 向服务器发送表单数据 157
5.8.1 HTTP get 158
5.8.2 HTTP post 159
5.9 本章小结 162
5.10 练习 162
第6章 框架 164
6.1 框架集简介 164
6.2 使用框架的时机 166
6.3 〈frameset〉元素 167
6.3.1 cols属性 168
6.3.2 rows属性 170
6.3.3 针对〈frameset〉元素的浏览器专用扩展 170
6.4 〈frame〉元素 172
6.4.1 src属性 172
6.4.2 name属性 173
6.4.3 frameborder属性 173
6.4.4 marginwidth属性和marginheight属性 173
6.4.5 noresize属性 174
6.4.6 scrolling属性 174
6.4.7 longdesc属性 174
6.5 〈noframes〉元素 175
6.6 创建框架之间的链接 175
6.7 框架集的嵌套 177
6.8 利用〈iframe〉元素创建浮动框架或内联框架 181
6.9 本章小结 186
6.10 练习 186
第7章 层叠样式表 188
7.1 CSS简介 189
7.1.1 一个基本的示例 190
7.1.2 继承 193
7.2 添加CSS规则的位置 194
7.2.1 〈link〉元素 194
7.2.2 〈style〉元素 196
7.2.3 外部CSS样式表的优点 197
7.3 CSS特性 198
7.4 控制字体 199
7.4.1 font-family特性 200
7.4.2 font-size特性 201
7.4.3 font-weight特性 203
7.4.4 font-style特性 203
7.4.5 font-variant特性 204
7.4.6 font-stretch特性 204
7.4.7 font-size-adjust特性 205
7.5 文本格式化 205
7.5.1 color特性 206
7.5.2 text-align特性 206
7.5.3 vertical-align特性 206
7.5.4 text-decoration特性 208
7.5.5 text-indent特性 208
7.5.6 text-shadow特性 209
7.5.7 text-transform特性 209
7.5.8 letter-spacing特性 210
7.5.9 word-spacing特性 210
7.5.10 white-space特性 211
7.5.11 direction特性 212
7.5.12 unicode-bidi特性 212
7.6 文本伪类 213
7.6.1 first-letter伪类 213
7.6.2 first-line伪类 213
7.7 选择器 216
7.7.1 通用选择器 216
7.7.2 类型选择器 217
7.7.3 类选择器 217
7.7.4 id选择器 217
7.7.5 子选择器 218
7.7.6 后继选择器 218
7.7.7 相邻兄弟选择器 218
7.7.8 利用子选择器和相邻兄弟选择器降低标记中类的相关性 219
7.7.9 属性选择器 220
7.8 长度 222
7.8.1 绝对单位 222
7.8.2 相对单位 222
7.8.3 百分比 223
7.9 框模型简介 223
7.9.1 演示框模型的示例 225
7.9.2 Border特性 227
7.9.3 padding特性 230
7.9.4 margin特性 231
7.9.5 面积 232
7.10 本章小结 241
7.11 练习 241
第8章 更多层叠样式表 244
8.1 链接 244
8.2 背景 246
8.2.1 background-color特性 246
8.2.2 background-image特性 247
8.2.3 background-repeat特性 249
8.2.4 background-position特性(用于固定背景的位置) 251
8.2.5 background-attachment特性 (用于水印) 251
8.2.6 background特性(获得良好支持的简写形式) 252
8.3 列表 253
8.3.1 list-style-type特性 253
8.3.2 list-style-position特性 254
8.3.3 list-style-image特性 255
8.3.4 list-style特性(简写形式) 256
8.3.5 marker-offset特性 256
8.4 表 256
8.4.1 表的特性 258
8.4.2 border-collapse特性 259
8.4.3 border-spacing特性 260
8.4.4 caption-side特性 261
8.4.5 empty-cells特性 261
8.4.6 table-layout特性 263
8.5 外边框 263
8.5.1 outline-width特性 264
8.5.2 outline-style特性 264
8.5.3 outline-color特性 264
8.5.4 outline特性(简写形式) 264
8.6 :focus伪类和:active伪类 265
8.7 生成的内容 265
8.7.1 :before和:after伪元素 266
8.7.2 content特性 266
8.8 其他特性 269
8.8.1 cursor特性 269
8.8.2 display特性 270
8.8.3 visibility特性 270
8.9 额外的规则 271
8.9.1 @import规则:模块化的样式表 271
8.9.2 @charset规则 272
8.9.3 !important规则 272
8.10 CSS的定位功能 273
8.10.1 普通流 273
8.10.2 position特性 274
8.10.3 框偏移特性 274
8.10.4 相对定位 275
8.10.5 绝对定位 276
8.10.6 固定定位 277
8.10.7 z-index特性 278
8.10.8 使用float特性浮动 279
8.10.9 clear特性 281
8.11 本章小结 286
8.12 练习 287
第9章 页面布局 289
9.1 理解站点 289
9.1.1 理解站点的目标 290
9.1.2 期望的站点访问者 291
9.1.3 新内容 291
9.1.4 定义站点的内容 292
9.1.5 分组和分类 293
9.1.6 创建站点地图 293
9.1.7 标识每个页面的关键元素 295
9.2 页面大小(和屏幕分辨率) 295
9.3 设计页面 301
9.3.1 规划元素的位置 302
9.3.2 引入样式 304
9.3.3 导航 307
9.3.4 主页面 309
9.3.5 内容页面 309
9.4 构造页面 310
9.4.1 单列布局 311
9.4.2 双列布局 314
9.4.3 3列布局 316
9.4.4 牺牲列 318
9.4.5 利用CSS的高级布局 319
9.4.6 利用嵌套表创建布局 320
9.5 本章小结 322
9.6 练习 323
第10章 设计问题 324
10.1 文本 324
10.1.1 空白有助于制作更吸引人的页面 325
10.1.2 仔细对齐文本以使其更具可读性 327
10.1.3 调整文本行高度以使文本更具可读性 328
10.1.4 宽列的文本更难以阅读 328
10.1.5 背景图像会使文本难以阅读 329
10.1.6 仔细选择字体 329
10.1.7 固定大小的字体受屏幕分辨率影响 331
10.2 导航 331
10.2.1 菜单 331
10.2.2 链接 336
10.2.3 站点搜索功能 337
10.3 在表的多行中添加阴影 339
10.4 表单 341
10.4.1 设计表单之前的工作 341
10.4.2 设计表单 343
10.5 本章小结 360
10.6 练习 361
第11章 学习JavaScript 362
11.1 编程的定义 363
11.2 在页面中添加脚本的方式 364
11.2.1 JavaSeript中的注释 366
11.2.2 〈noscript〉元素 366
11.3 文档对象模型 368
11.3.1 文档对象模型简介 368
11.3.2 对象、方法和特性 370
11.3.3 forms集合 372
11.3.4 表单元素 373
11.3.5 images集合 376
11.3.6 不同类型的对象 379
11.4 开始利用JavaScript编程 379
11.5 变量 380
11.5.1 为变量赋值 380
11.5.2 变量的生命周期 381
11.6 运算符 381
11.6.1 算术运算符 381
11.6.2 赋值运算符 382
11.6.3 比较运算符 382
11.6.4 逻辑或布尔运算符 383
11.6.5 字符串运算符 384
11.7 函数 384
1 1.7.1 定义函数的方式 384
11.7.2 调用函数的方式 384
11.7.3 return语句 385
11.8 条件语句 385
11.8.1 if语句 386
11.8.2 if...else语句 386
11.8.3 switch语句 387
11.8.4 条件(或三元)运算符 389
11.9 循环 389
11.9.1 while循环 389
11.9.2 do...while循环 390
11.9.3 for循环 390
11.9.4 无限循环和break语句 391
11.10 事件 391
11.11 内置对象 393
11.11.1 字符串对象 393
11.11.2 日期对象 396
11.11.3 数学对象 399
11.11.4 数组对象 401
11.11.5 Window对象 402
11.12 编写JavaScript代码 404
11.12.1 关于数据类型的注意事项 404
11.12.2 关键字 405
11.13 本章小结 406
11.14 练习 406
第12章 应用JavaScript 407
12.1 关于编写脚本的一些实用提示 407
12.1.1 其他人是否已经编写过这个脚本 407
12.1.2 可重用的函数 408
12.1.3 使用外部JavaScript文件 409
1 2.1.4 将脚本放置在scripts文件夹中 409
12.2 表单验证 409
12.2.1 什么时候验证 409
12.2.2 如何验证 410
12.3 增强表单的可用性 423
12.3.1 关注第一个表单项 423
12.3.2 字段之间的自动焦点移动 424
12.3.3 禁用文本输入框 425
12.3.4 转换大小写 426
12.3.5 剪裁字段开头和结尾的空格 427
12.3.6 选择文本区域中的所有内容 428
12.3.7 选中或取消选中所有复选框 429
12.4 图像翻转 435
12.5 随机脚本生成器 437
12.6 弹出式窗口 438
12.7 JavaScript库 440
12.7.1 利用Scriptaculous库创建动画效果 440
12.7.2 利用Scriptaculous库拖放可排序列表 442
12.7.3 利用MochiKit库创建可排序表 443
12.7.4 利用YUI库创建日历 445
12.7.5 利用YUI库创建自动完成的文本输入框 446
12.8 何时不使用JavaScript 448
12.8.1 下拉导航菜单 448
12.8.2 隐藏e-mail地址 448
12.8.3 快速跳转选择框 448
12.8.4 用户需要从站点中获得的任何信息 449
12.9 本章小结 449
12.10 练习 450
第13章 在Web上发布站点 452
13.1 Meta标签 453
13.1.1 name属性和content属性 453
13.1.2 http-equiv属性和content属性 455
13.1.3 scheme属性 458
13.2 测试站点 459
13.2.1 目录结构和相对URL的重要性 459
13.2.2 验证HTML、XHTML和CSS 460
13.2.3 检查链接 462
13.2.4 检查不同的屏幕分辨率和颜色深度 464
13.2.5 可访问性检验工具 464
13.2.6 开发服务器或主运行服务器 464
13.2.7 在浏览器的不同版本中执行检查 464
13.2.8 引导测试 465
13.2.9 校对 466
13.3 发布站点 466
13.3.1 获得域名 467
13.3.2 主机托管 468
13.3.3 搜索引擎策略 471
13.3.4 其他Web市场营销策略 474
13.3.5 统计分析 475
13.3.6 版本控制 477
13.4 下一步执行的操作 478
13.4.1 博客 478
13.4.2 讨论板或论坛 479
13.4.3 添加搜索实用程序 479
13.5 其他技术简介 480
13.5.1 服务器端Web编程:ASP.NET和PHP 480
13.5.2 选择服务器端语言 480
13.5.3 内容管理 481
13.5.4 Flash 483
13.5.5 学习图形程序包 484
13.6 本章小结 485
附录A 练习题答案 487
附录B XHTML元素参考 511
附录C CSS特性 549
附录D 颜色名和颜色值 575
附录E 字符编码 582
附录F 特殊字符 585
附录G 语言代码 595
附录H MIME媒体类型 598
附录I 逐渐淘汰的和浏览器专用的标记 607