第1篇 JavaScript语言基础 2
第1章 JavaScript概述 2
1.1 JavaScript的介绍 2
脚本语言简介 2
脚本语言的分类 2
不同脚本语言的区别 3
JavaScript与Java的区别 3
1.2脚本语言的版本 4
JavaScript的版本 4
JScript的版本 5
ECMAScript的版本 5
1.3 JavaScript与浏览器 5
常用的浏览器 6
浏览器对脚本语言的支持情况 7
开启浏览器对JavaScript的支持 8
1.4 JavaScript的作用 14
动态特效 14
响应事件 14
表单操作 14
记录状态 15
代码维护 15
其他 15
1.5 JavaScript的局限性 15
1.6特别说明 16
1.7小结 16
第2章 开始JavaScript 17
2.1选择适合自己的编辑工具 17
记事本 17
Ultra Edit 32 17
EditPlus 17
lst JavaScript Editor 18
Dreamweaver 19
其他编辑工具 20
2.2在HTML文档中插入JavaScript 20
在HTML文档中插入JavaScript 20
JavaScript的解析次序 21
script元素属性 22
设置脚本语言名 23
设置脚本语言的版本 25
设置脚本语言类型 27
引用外部脚本文件 28
边装载边解析与先装载后解析 32
2.3 JavaScript的注释 34
单行注释语句 35
多行注释语句 35
2.4不支持客户端脚本语言的处理办法 36
使用HTML注释语句隐藏客户端脚本 37
提示用户浏览器不支持客户端脚本语言 37
2.5调用与执行JavaScript代码的方式 39
直接执行的JavaScript代码 39
直接调用函数 40
使用javascript:语句调用 42
通过事件调用 44
2.6调试JavaScript 44
浏览效果 44
在IE浏览器中查看错误信息 45
在Firefox浏览器中查看错误信息 46
在Opera浏览器中查看错误信息 46
在Netscape浏览器中查看错误信息 47
2.7注意事项 48
区分大小写 48
表示语句结束 48
空格与换行 49
<script>标签不能嵌套 49
2.8小结 50
第3章 数据类型 51
3.1基本数据类型 51
字符串型 51
数字型 51
布尔型 52
3.2复合数据类型 52
数组 52
对象 53
3.3其他数据类型 53
函数 53
null 54
undefined 54
3.4数据类型的转换 54
数据类型的隐式转换 54
另类的数据类型隐式转换 56
数据类型的显示转换 57
3.5小结 59
第4章 直接量与字符集 60
4.1字符串直接量 60
字符串直接量 60
字符串中的转义字符 61
4.2数字直接量 63
整型直接量 63
浮点型直接量 65
4.3布尔直接量 66
4.4数组直接量 66
4.5函数直接量 68
4.6对象直接量 69
4.7特殊直接量 70
null直接量 70
undefined直接量 70
4.8字符集 71
Unicode字符集 71
Unicode兼容ASCII和ISO 71
4.9小结 71
第5章 变量、常量与保留字 72
5.1变量的命名 72
5.2变量的类型 73
5.3定义变量 73
5.4变量赋值 74
在定义变量的同时赋值 74
在定义变量后赋值 74
为没有定义过的变量赋值 75
5.5变量的有效范围 75
全局变量 76
局部变量 78
函数体内中定义全局变量 79
5.6使用变量的注意事项 80
变量必须先定义后使用 80
允许为未定义的变量赋值 81
允许重复定义变量 81
引用未赋值的变量 83
变量的优先级 83
随处定义的变量 85
嵌套函数体中变量的有效范围 88
变量没有语句块的限制 89
5.7常量 91
定义常量 91
常量的使用 91
常量值不能被改变 92
常量不能重复定义 93
常量名不能重名 93
系统内置的常量 93
5.8保留字 94
保留字 94
特性关键字 95
不建议使用的保留字 95
5.9小结 95
第6章 运算符与表达式 96
6.1运算符与表达式介绍 96
运算符 96
操作数 96
操作数类型 97
表达式 98
6.2算术运算符 98
加法运算符 99
减法运算符 99
乘法运算符 99
除法运算符 100
模运算符 100
取反运算符 101
正号运算符 102
递增运算符 102
递减运算符 104
6.3字符串运算符 106
6.4逻辑运算符 107
逻辑与运算符 107
逻辑或运算符 108
逻辑非运算符 109
6.5比较运算符 109
等于运算符 110
不等于运算符 110
大于运算符 111
小于运算符 112
小于或等于运算符 113
大于或等于运算符 114
等同运算符 114
不等同运算符 115
6.6逐位运算符 116
整数的二进制表示法 116
逐位与运算符 117
逐位或运算符 117
逐位非运算符 118
逐位异或运算符 118
左移运算符 119
带符号右移运算符 120
0补足右移运算符 120
6.7赋值运算符 121
普通的赋值运算符 121
带操作的赋值运算符 122
6.8特殊运算符 122
条件运算符 122
逗号运算符 124
delete运算符 125
in运算符 132
instanceof运算符 134
new运算符 136
this运算符 137
typeof运算符 140
void运算符 141
对象属性存取运算符 142
数组元素存取运算符 143
函数调用运算符 144
6.9运算符的优先级 144
运算符的执行方向 145
运算符的优先级 145
6.10小结 146
第7章 语句 147
7.1表达式语句 147
7.2语句块 148
7.3选择语句 149
if语句 149
switch语句 157
7.4循环语句 162
for语句 163
while语句 166
do…while语句 168
7.5对象操作语句 170
for…in语句 170
for each…in语句 173
with语句 175
7.6跳转语句 179
label语句 179
break语句 180
continue语句 184
7.7异常处理语句 188
异常处理中的几个概念 188
异常的类型 188
throw语句 188
try…catch语句 191
finally语句 199
7.8其他语句 201
空语句 201
注释语句 202
var语句 202
const语句 202
function语句 203
return语句 203
7.9小结 205
第2篇 常用对象 208
第8章 对象简介 208
8.1对象简介 208
对象的来由 208
对象的属性 209
对象的方法 210
什么是对象 210
对象层次 211
8.2创建对象 212
创建内置对象 212
使用对象直接量创建自定义对象 213
使用对象直接量创建有方法的自定义对象 214
使用自定义构造函数创建对象 215
使用带参数的构造函数创建对象 217
使用有默认值的构造函数创建对象 219
使用带方法的构造函数创建对象 222
8.3对象属性 225
存取对象属性 225
遍历对象属性 225
通过遍历获得对象属性值 227
遍历对象中的属性和方法 228
遍历对象属性值 230
索引对象属性 231
添加属性 233
删除对象属性 234
将对象赋值给对象属性 236
8.4对象方法 240
定义对象方法 240
添加方法 240
删除方法 242
8.5基于类的对象与基于原型的对象 243
两种面向对象语言在概念上的区别 243
类和构造函数 244
继承 244
添加与删除属性 244
两种面向对象语言的区别小结 245
8.6原型对象 245
原型对象介绍 245
原型对象的工作原理 245
原型对象的引用 246
8.7继承 249
一个继承的对象模型 249
创建构造函数 249
继承属性 251
设置继承的属性值 252
通过原型对象修改对象属性 253
通过原型对象添加对象属性 255
通过原型对象删除对象属性 257
本地属性与继承属性 257
更灵活的运用 259
在继承中使用全局变量 262
8.8小结 267
第9章 全局对象 268
9.1全局对象简介 268
9.2全局属性 269
9.3布尔对象 270
布尔对象的构造函数 270
布尔对象的方法 271
布尔值隐式转换为布尔对象 273
布尔值与布尔对象的区别 274
复制一个布尔对象 275
9.4日期对象 277
UTC、GMT和本地时 277
日期对象的构造函数 278
使用构造函数创建日期对象 278
日期对象的方法 279
将日期对象转换为字符串 282
获取日期对象的指定部分 288
设置日期对象的指定部分 291
日期对象中的毫秒 296
日期之差 301
其他方法 302
9.5数学对象 302
数学对象的属性 303
数学对象的方法 303
数学对象的使用 304
9.6数字对象 305
数字对象的构造函数 305
数字对象的属性 307
数字对象的方法 307
将数字对象转换成字符串 308
其他方法 311
9.7字符串对象 311
字符串对象的构造函数 312
字符串对象的属性:字符串的长度 312
字符串对象的方法 313
创建新字符串 314
字符串与Unicode编码 316
搜索子字符串 317
查找子字符串在字符串中的位置 321
使用正则表达式搜索子字符串 323
查找并替换字符串中的子字符 325
将字符串分割成数组 331
转换大小写 333
非标准化的字符串对象的方法 334
比较字符串 336
修改字符串中的某一个字符 338
其他方法 339
9.8 Object对象 339
Object对象的构造函数 339
Object对象的属性 341
Object对象的方法 344
执行字符串中的JavaScript代码 345
判断对象属性是否为自有属性 346
判断一个对象是否是另一个对象的原型对象 347
判断对象的属性是否可以被枚举 350
监视属性值的变化情况 353
其他方法 355
对象属性与方法的覆盖 355
9.9其他对象 356
错误对象 356
数组对象 356
函数对象 356
正则表达式对象 357
9.10小结 357
第10章 函数 358
10.1函数介绍 358
10.2定义函数 358
使用function语句 358
使用Function()构造函数 360
使用函数直接量 361
定义函数的方法比较 362
嵌套定义函数 363
有条件地定义函数 364
定义函数的注意事项 365
10.3函数的调用 366
直接调用 366
在表达式中调用 367
通过事件调用 370
递归调用 371
10.4函数参数的传递 373
传递参数的类型 373
传递参数个数多于函数定义的参数个数 375
传递参数个数少于函数定义的参数个数 376
10.5 Arguments对象 378
Arguments对象简介 378
Arguments对象的属性 382
实际传递参数的个数 382
定义不确定参数个数的函数 384
使用callee属性递归调用函数 385
查看调用当前函数的函数名 386
10.6函数对象 386
函数对象的属性和方法 387
函数参数个数 387
引用原型对象 388
函数的名称 390
判断函数调用情况 391
使用apply()方法将函数作为对象的方法调用 392
使用call()方法将函数作为对象的方法调用 394
将函数对象转换成字符串 396
函数的自定义属性 396
10.7全局函数 397
执行字符串中的代码 398
检测一个值是否是无穷大 400
检测一个值是否是非数字 401
转换成整数数字 402
转换成浮点型数字 404
转换成字符串 405
字符串编码与解码 405
URI编码与解码 406
URI组件编码与解码 407
三个编码函数之间的区别 409
10.8小结 409
第11章 数组 410
11.1数组介绍 410
数组简介 410
数组元素 410
数组的长度 411
11.2创建数组 411
创建数组对象的构造函数和数组直接量 411
创建空数组 412
创建数组的同时为数组元素赋值 412
创建指定长度的数组 413
通过其他对象的方法创建数组 414
创建数组的注意事项 415
11.3数组元素 416
数组元素的存取 416
数组元素的值 416
输出数组的所有元素 418
理解数组长度 420
添加数组元素 421
通过为数组元素赋值的方法添加数组长度 422
删除数组元素的值 423
通过改变数组长度来添加和删除数组元素 424
多维数组 426
11.4数组对象的方法 427
数组对象的方法 427
将数组转换为字符串 428
将数组转换为本地字符串 429
通过连接符将数组元素连接成字符串 430
将元素添加在数组尾部并创建一个新数组 431
截取数组中的一部分 434
从前向后查找元素在数组中的位置 435
从后向前查找元素在数组中的位置 438
删除数组尾部元素 441
删除数组头部元素 442
在数组头部或尾部添加元素 443
在数组的任何位置添加数组元素 445
删除数组元素 446
替换数组中的元素 448
数组元素的排序 450
颠倒数组元素 453
筛选数组元素 454
遍历数组元素 458
测试数组中的元素是否都符合条件 460
测试数组中的元素是否至少有一个符合条件 461
数组元素映射 463
JavaScript 1.8中更灵活地处理数组元素 465
注意事项 470
11.5数组对象的属性 471
数组对象的属性 471
回顾字符串对象的match()方法 472
返回用于创建数组的字符串 474
返回数组第1个元素在字符串中出现的位置 475
注意事项 476
11.6小结 477
第12章 对象模型与事件处理 478
12.1对象模型 478
对象模型简介 478
客户端对象层次 478
浏览器对象模型 479
对象模型中对象的引用 481
12.2事件驱动与事件处理 485
事件驱动 485
事件处理 485
在HTML标签中设置事件驱动 486
在JavaScript代码中设置事件驱动 487
事件处理 488
在超链接中使用click事件 490
事件的返回值 494
this运算符与参数传递 496
12.3常用的事件 498
HTML中的事件 498
其他事件 499
鼠标移动事件 500
鼠标点击事件 501
键盘事件 503
加载事件与卸载事件 505
得到焦点与失去焦点事件 506
提交事件与重置事件 508
选择事件与改变事件 510
12.4小结 5
第13章 窗口与框架 512
13.1 Window对象 512
Window对象简介 512
Window对象的引用方法 512
Window对象的属性 513
Window对象的方法 514
Window对象的事件 515
Window对象的子对象 515
13.2对话框 516
警告框 516
确认框 517
提示框 519
13.3状态栏 521
状态栏简介 521
显示状态栏 521
状态栏的默认信息 522
状态栏的瞬间信息 524
13.4窗口操作 525
open()方法的介绍 525
打开一个空白窗口 526
打开一个有内容的窗口 526
在命名窗口中打开文档 527
设置新开窗口的特征 529
不显示新开窗口的浏览历史 532
窗口名称 533
关闭当前窗口 534
关闭其他窗口 536
判断窗口是否已经关闭 537
对新开窗口的引用 539
窗口得到焦点和失去焦点 540
窗口的移动 541
调整窗口的大小 543
13.5滚动文档 544
13.6周期执行与延迟执行 546
周期执行 546
延迟执行 547
取消周期执行 549
取消延迟执行 551
13.7框架与窗口的引用 552
框架简介 553
创建框架 553
内置框架 554
框架数量 555
ames[]数组对框架页的引用 556
通过框架名对框架页的引用 557
特定窗口名称 558
父窗口对子窗口的引用 560
子窗口对父窗口的引用 561
对顶级窗口的引用 561
对其他窗口的引用 562
新开窗口的引用 564
13.8小结 566
第3篇 JavaScript核心技术 568
第14章 文档操作 568
14.1 Document对象介绍 568
Document对象简介 568
Document对象的属性 569
Document对象的方法 570
Document对象可操作的HTML元素 571
对象的引用方式 571
14.2输出文字 572
write()方法与writeln0方法的语法 573
在当前文档中输出文字 573
write()方法和writeln0方法的区别 574
输出文字时的注意事项 575
完整的输出 576
使用open()方法和close()方法的注意事项 577
输出非HTML文档 581
覆盖当前浏览历史记录 583
14.3超链接的颜色 585
14.4网页的前景色和背景色 587
14.5文档信息 588
最后修改时间与文档URL 588
在标题栏上的跑马灯 589
链接到当前文档的URL 590
文件所在域 592
14.6文档中的图片 592
Image对象简介 593
Image对象的引用方式 593
Image对象的属性 594
Image对象的事件 594
图片信息 595
置换图片 597
随机变换的图片 598
与load事件相结合 599
提示不存在的图片 600
14.7超链接与锚 601
Link对象介绍 601
URL的组成部分 601
Link对象的属性和事件 602
获得超链接的属性 602
随机广告 604
Anchor对象介绍 605
Anchor对象的属性 605
Anchor对象和Link对象的区别 605
14.8小结 607
第15章 表单操作 608
15.1 Form对象 608
Form对象简介 608
Form对象的属性 609
Form对象的方法和事件 609
查看Form对象的属性 610
验证表单数据 611
确认提交和重置数据 613
将表单提交到不同的URL 614
15.2表单控件元素 616
HTML中的表单控件元素 616
引用表单控件对象的方式 619
15.3文本框 620
文本框对象的属性 620
文本框对象的方法 621
文本框对象的事件 621
限制文本框的输入字数 622
自动选择文本框中的文字 625
自动定位在第一个文本框 626
15.4按钮 627
按钮对象的属性 627
按钮对象的方法 628
按钮对象的事件 628
只允许提交一次 629
按钮文字 630
15.5单选框与复选框 631
Radio对象和Checkbox对象的属性 631
Radio对象和Checkbox对象的方法 632
Radio对象和Checkbox对象的事件 632
组与选项 632
获取单选框与复选框的值 633
限制复选框的被选择数量 636
选择复选框组中的所有选项 637
15.6下拉列表框 640
下拉列表框中不常用到的属性 640
Select对象的属性 642
Select对象的方法 642
Select对象的事件 642
利用下拉列表框提交数据 643
Option对象 644
添加下拉列表框中的选项 645
defaultSelected和selected的区别 647
动态的选择 649
二级联动菜单 651
15.7文件选择框 654
FileUpload对象的属性 654
FileUpload对象的方法 654
FileUpload对象的事件 654
上传文件前先预览图片 655
使用文件选择框的注意事项 656
15.8隐藏域 657
隐藏域的属性 657
下拉列表框中的选项进行排序 657
15.9分组元素 660
15.10小结 662
第16章 其他对象操作 663
16.1 Screen对象 663
Screen对象的属性 663
输出显示器信息 663
满屏显示网页 665
16.2 Navigator对象 666
Navigator对象的属性和方法 666
判断浏览器是否支持Java 667
显示浏览器的基本属性 668
根据不同浏览器显示不同的内容 670
Navigator对象的子对象 671
MimeType对象的属性 672
查看浏览器支持的MIME类型 672
Plugin对象的属性 673
通过插件安装情况来选择是否显示插件 673
16.3 History对象 674
History对象的方法和属性 674
跳转页面 675
16.4 Location对象 676
Location对象的属性 676
Location对象的方法 676
加载和刷新网页 677
通过修改当前文档的URL来加载新文档 678
16.5小结 680
第17章 Cookie 681
17.1 Cookie介绍 681
Cookie简介 681
Cookie的使用范围 681
Cookie的基本概念 682
使用Cookie的注意事项 683
17.2存取Cookie 683
存取Cookie的方法 683
创建与读取Cookie 684
精确读取Cookie值 687
通过数组来读取Cookie值 690
17.3 Cookie的高级设置 692
Cookie的生存期 692
Cookie的路径 695
Cookie的域 697
Cookie的安全性 699
为Cookie编码 701
17.4小结 702
第18章 文档对象模型 703
18.1 DOM的介绍 703
DOM介绍 703
树形结构 703
18.2节点 704
节点的关系 705
节点的类型 705
节点的访问方法 706
DOM核心接口 708
Node接口的常量 708
18.3 Document接口 710
Document接口的属性 710
Document接口的方法 712
访问文档中的特殊元素 713
查看某标签在文档中出现的次数 714
查看特定节点是否存在 715
查看指定id值的节点下的子节点 716
18.4 Node接口 717
Node接口的属性 718
Node接口的方法 718
节点的名称 719
获得一个节点下的所有子节点 720
子节点与兄弟节点 722
节点的类型、名称和值 725
插入一个节点 727
复制一个节点 732
在一个节点前插入节点 733
删除节点 734
18.5 Element接口 737
Element接口的属性 738
Element接口的方法 738
获得属性值 739
添加与删除属性 740
18.6 Attr接口 742
Attr接口的属性 742
查看Element节点下的所有属性 742
获得属性值 744
添加与删除属性 745
18.7 CharacterData接口 746
CharacterData接口的属性 747
CharacterData接口的方法 747
改变文字 747
移动文字 748
18.8 HTMLDocument接口 749
HTMLDocument接口的属性 749
HTMLDocument接口的方法 750
18.9 HTMLElement接口 751
HTMLElement接口的属性 751
HTMLElement接口的子接口 751
18.10小结 754
第19章 正则表达式 755
19.1正则表达式简介 755
正则表达式的作用 755
正则表达式的工作原理 755
19.2正则表达式的语法 757
字符与字符串 757
字符类 758
重复类 759
选择符 760
定位符 760
分组 761
引用 762
标志 763
19.3正则表达式对象 764
String对象中的正则表达式 764
使用正则表达式对象 764
RegExp对象的方法和属性 766
简单地匹配字符串 766
匹配字符串和子字符串 767
引用匹配成功的字符串 769
全局匹配 770
测试匹配是否成功 772
RegExp对象的静态属性 773
19.4正则表达式的应用 775
验证邮政编码的合法性 775
验证身份证号码 776
验证电话号码 777
验证URL的合法性 778
验证Email的合法性 779
使用正则表达式和DOM结合 780
19.5小结 783
第4篇 Ajax开发 786
第20章 Ajax介绍 786
20.1传统的 Web技术和异步处理技术 786
传统的Web技术处理过程 786
传统的Web处理技术的弊端 786
使用异步处理技术 787
20.2 Ajax技术简介 788
什么是Ajax 788
Ajax的优点 788
Ajax的缺点 789
20.3 Ajax技术的组成 789
JavaScript 790
XMLHttpRequest 790
DOM 790
XML 790
CSS 791
20.4实现Ajax 791
实现Ajax的步骤 791
创建XMLHttpRequest对象 791
创建响应XMLHttpRequest对象状态变化的函数 795
创建HTTP请求 795
发送HTTP请求 796
判断异步调用是否成功 796
获得服务器返回的数据 797
局部更新 798
20.5一个简单的Ajax实例 798
实例功能 798
设计HTML页面 799
创建用户名验证函数 800
创建XMLHttpRequest对象 800
判断XMLHttpRequest对象是否创建成功 801
创建响应XMLHttpRequest对象状态变化的函数 802
创建和发送HTTP请求 802
判断异步调用是否成功 804
获取服务器上的数据 804
判断用户名是否已经注册 804
在网页中发出提示 805
完整的代码 806
20.6 XMLHttpRequest对象 809
XMLHttpRequest对象概述 809
XMLHttpRequest对象的方法 809
XMLHttpRequest对象的属性 811
HTTP状态 811
20.7小结 813
第21章 Ajax与服务器 814
21.1动态网页程序 814
动态网页 814
动态网页程序语言 814
21.2从服务器上选择性获取数据 815
使用JavaScript实现二级联动菜单 815
将下拉列表框内置于Iframe中 818
在Iframe中获取服务器端数据 820
使用Ajax从服务器端获取数据 823
21.3 get方式和post方式 826
在HTML中使用get方式提交数据 826
在HTML中使用post方式提交数据 828
get方式和post方式的区别 830
在Ajax中使用get方式提交数据 831
在Ajax中使用post方式提交数据 831
21.4 HTTP头 835
HTTP请求模型与HTTP头 835
HTTP请求头 836
HTTP响应头 836
其他HTTP头 836
在服务器端获得HTTP请求头 837
在客户端获得HTTP响应头 840
获取指定的HTTP头 843
砍掉Ajax的缓存 846
21.5同步与异步 849
同步与异步的区别 849
同步与异步的优缺点 850
一个失败的异步处理例子 851
在Ajax中使用同步处理 854
改良后的同步处理 855
21.6Ajax的编码 859
网页的编码 859
获取文本文件内容 862
通过改变动态网页程序本身编码来返回UTF-8编码的数据 865
让动态网页程序返回指定的编码 867
21.7小结 870
第22章 Ajax与XML 871
22.1 XML简介 871
什么是XML 871
XML与HTML的区别 872
XML的作用 872
一个简单的XML文件 872
浏览XML文件 873
22.2 XML语法 874
XML语法概述 874
XML声明 875
根元素 875
闭合标签 876
空标签 877
标签嵌套 879
区分大小写 880
XML的属性值 881
XML中的空格 881
转义字符 882
注释 883
CDATA标签 884
22.3 XML的元素 886
树形结构 886
标签之间的关系 887
节点的类型 887
节点的扩展 888
元素的命名规则 888
元素的属性 889
何时使用元素的属性 890
22.4 XML DOM介绍 892
XML DOM中的节点类型 892
解析XML文件 893
解析XML字符串 898
创建解析XML文件的函数 902
创建解析XML字符串的函数 904
22.5 XML DOM的节点操作 905
通过文档节点返回XML文档信息 906
节点对象与信息 908
访问根节点 910
访问一个节点下的所有子节点 911
访问指定节点 913
输出节点与子孙节点的值 915
输出属性节点值 917
访问指定的属性节点 920
获得元素节点的所有属性节点 922
通过标签名查找节点 924
通过ID查找节点 926
修改节点值 928
删除节点 930
创建与添加节点 934
将节点插入在指定节点之前 938
在节点值中添加数据 940
替换节点 941
替换节点值 943
删除节点值 945
复制节点 947
22.6异步处理XML 949
异步获取服务器上的XML文件 949
处理从服务器上获取的XML文档 953
在服务器上处理XML文件 957
22.7小结 961
第23章 Ajax与CSS 962
23.1 CSS简介 962
HTML代码混乱的原因 962
解决HTML代码混乱的办法 963
CSS的作用 963
CSS与Ajax的关系 963
23.2 CSS语法 964
CSS的基本语法 964
内联样式 964
内部样式 965
外部样式 967
注释 969
23.3选择符 969
类型选择符 970
类选择符 970
ID选择符 972
伪类 973
其他选择符 975
选择符分组 977
23.4继承与冲突 977
样式继承 977
样式层叠 979
样式冲突 980
23.5 CSS样式 983
字体样式 983
段落样式 984
颜色与背景样式 985
盒子样式 985
表格样式 988
列表样式 989
版式样式 989
其他样式 991
23.6 Ajax与CSS 992
使用CSS设计网页 992
HTML、XML与CSS的结合使用 994
进一步完善 996
改变文字大小 1001
下拉菜单 1002
23.7小结 1008