Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Part I Creating Your First Style Sheet
1 Getting Oriented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
What Is a Style Sheet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Style Sheets in Word Processing Programs . . . . . . . . . . . . . . . . . . .12
Style Sheets in Desktop Publishing Programs . . . . . . . . . . . . . . . . . .14
Style Sheets on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Implementation of CSS in Browsers . . . . . . . . . . . . . . . . . . . . . . . .17
CSS and HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Downloading and Extracting the Example Files . . . . . . . . . . . . . . . . . .19
How to Download the Example Files . . . . . . . . . . . . . . . . . . . . . . .19
Extracting the Example Files to Your Working Folder . . . . . . . . . . . . . .20
Using a Text Editor to Work with the Examples . . . . . . . . . . . . . . . . . .21
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
2 Setting Your Page’s Base Styles . . . . . . . . . . . . . . . . . . . . . . . . . .25
Checking Which Browser You’re Using . . . . . . . . . . . . . . . . . . . . . . .26
Using This Chapter’s Example File . . . . . . . . . . . . . . . . . . . . . . . .27
Opening the Example File in Your Text Editor . . . . . . . . . . . . . . . . .27
Opening the Example File In Your Browser . . . . . . . . . . . . . . . . . . .28
A Quick Word About Using the Example File . . . . . . . . . . . . . . . . . . . .30
Controlling the Body of Your Page . . . . . . . . . . . . . . . . . . . . . . . .30
Setting the Page Margins . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Setting Your Page’s Text Font . . . . . . . . . . . . . . . . . . . . . . . . .32
Setting the Default Text Color . . . . . . . . . . . . . . . . . . . . . . . .36
Setting the Background Color . . . . . . . . . . . . . . . . . . . . . . . . .37
Setting the P Rule for Paragraphs . . . . . . . . . . . . . . . . . . . . . . . .39
Setting Left and Right Paragraph Margins . . . . . . . .. . . . . . . . . . . .39
Setting Top and Bottom Margins . . . . . . . . . . . . . . . . . . . . . . . .40
Setting Text Indents . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Controlling the Line Height . . . . . . . . . . . . . . . . . . . . . . . . . .43
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3 Setting Your Page’s Other Styles . . . . . . . . . . . . . . . . . . . . . . . . .47
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Setting the H1 Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Setting the Font Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Setting the Text Color . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
Setting the Horizontal Alignment . . . . . . . . . . . . . . . . . . . . . . .51
Using a Group Selector to Set the Other Heading Characteristics . . . . . . . . .52
Setting a Monospace Font . . . . . . . . . . . . . . . . . . . . . . . . . . .53
Setting a Negative Margin . . . . . . . . . . . . . . . . . . . . . . . . . . .54
Setting the List Characteristics . . . . . . . . . . . . . . . . . . . . . . . .55
Setting the Horizontal Margins for Your List . . . . . . . . . . . . . . . . .56
Setting Vertical Margins for Your List . . . . . . . . . . . . . . . . . . . .57
Setting the Vertical Margins for the List Items . . . . . . . . . . . . . . . .59
Specifying the Bullet Type . . . . . . . . . . . . . . . . . . . . . . . . . .60
Setting the Address Characteristics . . . . . . . . . . . . . . . . . . . . . . .61
Centering Your Address Block . . . . . . . . . . . . . . . . . . . . . . . . .62
Changing Your Address Block’s Text and Link Colors . . . . . . . . . . . . . .62
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Part II Understanding Basic Concepts
4 Using CSS with HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Containment in HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
Embedding Style Sheets Using the STYLE Element . . . . . . . . . . . . . . . .68
Other STYLE Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Linking and Importing Style Sheets . . . . . . . . . . . . . . . . . . . . . .72
Inserting Inline Styles Using the STYLE Attribute . . . . . . . . . . . . . . .73
Using Class and ID Selectors . . . . . . . . . . . . . . . . . . . . . . . . .75
Using Contextual Selectors . . . . . . . . . . . . . . . . . . . . . . . . . .77
Using Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Separating Appearance from Structure . . . . . . . . . . . . . . . . . . . . . .81
CSS and Deprecated Elements and Attributes . . . . . . . . . . . . . . . . . . .82
A Word About Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
The Three Flavors of HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
XHTML DOCTYPE Declarations . . . . . . . . . . . . . . . . . . . . . . . . . .86
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
5 Cascading, Grouping, and Inheritance . . . . . . . . . . . . . . . . . . . . . . .89
How Cascading Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Modularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Author/User Balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Specifying Importance . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
How Grouping Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Combining Group and Individual Selectors . . . . . . . . . . . . . . . . . . .97
How Inheritance Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
General Rules of Inheritance . . . . . . . . . . . . . . . . . . . . . . . . 102
Specified and Computed Values . . . . . . . . . . . . . . . . . . . . . . . . 102
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Part III Working with Colors, Fonts, and Text
6 Working with Colors and Backgrounds . . . . . . . . . . . . . . . . . . . . . . . 109
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Setting Foreground and Background Colors . . . . . . . . . . . . . . . . . . . 111
Using Color Names to Set Colors . . . . . . . . . . . . . . . . . . . . . . . 112
Using Numerical RGB Values to Set Colors . . . . . . . . . . . . . . . . . . 114
Setting Background Images . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Setting the Repeat Value . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Positioning a Background Image . . . . . . . . . . . . . . . . . . . . . . . 121
Setting a Fixed Background Image . . . . . . . . . . . . . . . . . . . . . . 123
Using the Background Shorthand Property . . . . . . . . . . . . . . . . . . . . 125
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7 Working with Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Setting Font Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Using Em or Percentage Units . . . . . . . . . . . . . . . . . . . . . . . . 132
Using Ex Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Using Pixel Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Using Absolute Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Using Absolute-Size Keywords . . . . . . . . . . . . . . . . . . . . . . . . 139
Using Relative-Size Keywords . . . . . . . . . . . . . . . . . . . . . . . . 141
Using the Font-Size-Adjust Property . . . . . . . . . . . . . . . . . . . . . 141
Setting Font Families . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Font Realities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Setting Specific Font Families . . . . . . . . . . . . . . . . . . . . . . . 143
Creating Font Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Quoting Font Family Names . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Setting Generic Font Families . . . . . . . . . . . . . . . . . . . . . . . . 146
Combining Specific and Generic Font Families . . . . . . . . . . . . . . . . 147
Setting Font Weights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Setting Font Styles and Variants . . . . . . . . . . . . . . . . . . . . . . . 149
Using the Font Stretch Property . . . . . . . . . . . . . . . . . . . . . . . . 150
Using the Font Shorthand Property . . . . . . . . . . . . . . . . . . . . . . . 150
Font Matching and the @font-face At-Rule . . . . . . . . . . . . . . . . . . . 151
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
8 Working with Text and Links . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Horizontally Aligning Text . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Indenting the First Text Line . . . . . . . . . . . . . . . . . . . . . . . . . 159
Controlling the Line Height . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Controlling Letter and Word Spacing . . . . . . . . . . . . . . . . . . . . . . 163
Setting Letter Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Setting Word Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Setting Underlining, Overlining, and Other Highlighting . . . . . . . . . . . . 166
Controlling Capitalization . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Setting Text Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Using the SPAN Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Controlling the Appearance of Links . . . . . . . . . . . . . . . . . . . . . . 171
Using a Contextual Selector to Control Links . . . . . . . . . . . . . . . . 173
Using Anchor Pseudo-Classes . . . . . . . . . . . . . . . . . . . . . . . . . 174
Using the A:hover Pseudo-Element . . . . . . . . . . . . . . . . . . . . . . 175
Creating CSS Roll-Over Links . . . . . . . . . . . . . . . . . . . . . . . . 176
Turning Link Underlining Off . . . . . . . . . . . . . . . . . . . . . . . . 177
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9 Formatting Block Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Understanding the CSS Formatting Model . . . . . . . . . . . . . . . . . . . . 182
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Setting Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Setting Horizontal Margins . . . . . . . . . . . . . . . . . . . . . . . . . 185
Setting Negative Margins . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Setting Vertical Margins . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Using the Margin Shorthand Property . . . . . . . . . . . . . . . . . . . . . 195
Setting Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Using the Padding Shorthand Property . . . . . . . . . . . . . . . . . . . . 197
Setting Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Setting the Border Style . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Setting the Border Width . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Setting the Border Color . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Using the Other Border Shorthand Properties . . . . . . . . . . . . . . . . . 203
Using Background Images with Borders . . . . . . . . . . . . . . . . . . . . 204
Using the DIV Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Applying a DIV Element to the Whole Page . . . . . . . . . . . . . . . . . . 205
Using the DIV Element to Create Custom Block Elements . . . . . . . . . . . . 206
Setting Padding, Borders, and Margins for Images and Other Objects . . . . . . 208
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10 Aligning, Floating, and Positioning . . . . . . . . . . . . . . . . . . . . . . . 213
Horizontally Aligning Block Elements . . . . . . . . . . . . . . . . . . . . . 214
Using the Example HTML File . . . . . . . . . . . . . . . . . . . . . . . . . 215
Horizontally Aligning Specific-Width Elements . . . . . . . . . . . . . . . . 217
Floating Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Creating a Drop-Cap Effect . . . . . . . . . . . . . . . . . . . . . . . . . 219
Flowing Text and Other Elements Around an Image . . . . . . . . . . . . . . . 220
Using the Clear Property . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Floating Elements Around Elements . . . . . . . . . . . . . . . . . . . . . . 226
Creating an Online Picture Gallery . . . . . . . . . . . . . . . . . . . . . . 229
Positioning Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Using Absolute Positioning . . . . . . . . . . . . . . . . . . . . . . . . . 233
Using Relative Positioning . . . . . . . . . . . . . . . . . . . . . . . . . 241
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Part V Working with Lists and Tables
11 Working with Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Creating Bulleted Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Using the Example HTML File . . . . . . . . . . . . . . . . . . . . . . . . . 246
Controlling Nested Bulleted Lists . . . . . . . . . . . . . . . . . . . . . . 247
Specifying the Bullet Type . . . . . . . . . . . . . . . . . . . . . . . . . 249
Controlling List Positioning . . . . . . . . . . . . . . . . . . . . . . . . 250
Specifying a Bullet Image . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Controlling List Margins . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Controlling List Item Vertical Margins . . . . . . . . . . . . . . . . . . . 256
Controlling the Bullet Separation . . . . . . . . . . . . . . . . . . . . . . 256
Creating Link Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Creating Numbered Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Using the Example HTML File . . . . . . . . . . . . . . . . . . . . . . . . . 260
Specifying the Number Type . . . . . . . . . . . . . . . . . . . . . . . . . 262
Creating a Multilevel Outline . . . . . . . . . . . . . . . . . . . . . . . . 263
Controlling Horizontal Positioning . . . . . . . . . . . . . . . . . . . . . 265
Creating Glossary Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
12 Working with Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Using the Example HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . 274
CSS and Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Controlling Table Width and Horizontal Alignment . . . . . . . . . . . . . . . 278
Controlling Spacing, Padding, and Borders . . . . . . . . . . . . . . . . . . . 279
Controlling Spacing, Padding, and Borders with HTML . . . . . . . . . . . . . 280
Controlling Cell Padding with CSS . . . . . . . . . . . . . . . . . . . . . . 281
Controlling Cell Spacing and Borders with CSS . . . . . . . . . . . . . . . . 282
Controlling Table Caption Padding . . . . . . . . . . . . . . . . . . . . . . 284
Aligning Table Cell Contents . . . . . . . . . . . . . . . . . . . . . . . . . 285
Working with Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . 286
Setting Colors and Backgrounds for Row Groups . . . . . . . . . . . . . . . . 287
Setting Colors and Backgrounds for Column Groups . . . . . . . . . . . . . . 288
Controlling Column Widths . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Putting On the Finishing Touches . . . . . . . . . . . . . . . . . . . . . . . 290
Adding Horizontal Borders . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Adding Vertical Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Turning Off the Internal Borders . . . . . . . . . . . . . . . . . . . . . . 294
Adding a Border Around the Table . . . . . . . . . . . . . . . . . . . . . . 294
Using Background Images . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Part VI Getting Deeper into Using Styles
13 Creating Menus and Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Using the Example HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Creating Interactive Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Creating a Simple Interactive Menu . . . . . . . . . . . . . . . . . . . . . 303
Creating a Boxed Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Creating a Floating Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Creating an Interactive Sidebar Menu . . . . . . . . . . . . . . . . . . . . 309
Creating a Ribbon Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
14 Creating Page Layouts and Site Designs . . . . . . . . . . . . . . . . . . . . . 321
Using the Example HTML Files . . . . . . . . . . . . . . . . . . . . . . . . . 322
Keeping It Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Using a Fixed Sidebar Background . . . . . . . . . . . . . . . . . . . . . . . 330
Adding the Finishing Touches . . . . . . . . . . . . . . . . . . . . . . . . 334
Creating Multi-Column Layouts . . . . . . . . . . . . . . . . . . . . . . . . . 337
Creating Newspaper Columns . . . . . . . . . . . . . . . . . . . . . . . . . 337
Creating a Three-Column Layout . . . . . . . . . . . . . . . . . . . . . . . 343
Creating Site Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Creating an External Style Sheet . . . . . . . . . . . . . . . . . . . . . . . 351
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Part VII Validation and Compatibility
15 Validating Your Style Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Why Validate? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Validation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
The W3C’s CSS and HTML Validators . . . . . . . . . . . . . . . . . . . . . . . 359
Using the W3C CSS Validator . . . . . . . . . . . . . . . . . . . . . . . . . 359
Using the W3C’s HTML Validator . . . . . . . . . . . . . . . . . . . . . . . 365
Using the WDG’s CSS and HTML Validators . . . . . . . . . . . . . . . . . . . . 369
Using the WDG CSSCheck Validator . . . . . . . . . . . . . . . . . . . . . . 369
Using the WDG HTML Validator . . . . . . . . . . . . . . . . . . . . . . . . 371
Using Other HTML Validators and Page Checkers . . . . . . . . . . . . . . . . . 375
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
16 Providing for Backward Compatibility . . . . . . . . . . . . . . . . . . . . . . 377
Using the Example File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
What About Non-Conforming Browsers? . . . . . . . . . . . . . . . . . . . . . . 380
Non-Supporting Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Combining Styles and Deprecated Elements and Attributes . . . . . . . . . . . 381
Using Gateway Pages and Browser Sniffers . . . . . . . . . . . . . . . . . . . 384
Participating in the Web Standards Project . . . . . . . . . . . . . . . . . . 385
The DOM Sniff Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
The Invisible Object Method . . . . . . . . . . . . . . . . . . . . . . . . . 388
Using the @import At-Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Using the LINK Element with a MEDIA Attribute . . . . . . . . . . . . . . . . . 391
Finding Out What Works (and Doesn’t Work) in Which Browsers . . . . . . . . . . 391
The Comment Bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
A Practical Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Identifying and Excluding Features Problematic in Navigator 4 . . . . . . . . 394
Understanding How DocType Switching Works . . . . . . . . . . . . . . . . . . . 397
What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Part VIII Appendixes
A CSS Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Containment and Application in HTML . . . . . . . . . . . . . . . . . . . . . . 404
STYLE Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
LINK Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
@import At-Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
STYLE Attribute (Inline Styles) . . . . . . . . . . . . . . . . . . . . . . . 404
Group Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Class Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
ID Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Contextual Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Anchor Pseudo-Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Typographical Pseudo-Elements . . . . . . . . . . . . . . . . . . . . . . . . 406
CSS1 Properties (Alphabetical) . . . . . . . . . . . . . . . . . . . . . . . . 406
CSS2 Positioning Properties . . . . . . . . . . . . . . . . . . . . . . . . . 423
Finding Out More About CSS1 and CSS2 . . . . . . . . . . . . . . . . . . . . 425
A Look Ahead at CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
B Using CSS with Other Technologies . . . . . . . . . . . . . . . . . . . . . . . . 431
Using JavaScript with CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Creating Dynamic Styles with Dynamic HTML . . . . . . . . . . . . . . . . . . . 432
Applying Dynamic Styles Using Class Selectors . . . . . . . . . . . . . . . . 433
Applying Dynamic Styles Directly to Document Elements . . . . . . . . . . . . 436
Finding Out More About the Dynamic HTML and the DOM . . . . . . . . . . . . . 438
Using CSS with XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
C Overview of CSS Software Tools . . . . . . . . . . . . . . . . . . . . . . . . . 445
Style Sheet Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Other Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
CSS-Supporting HTML Editors and Web Publishing . . . . . . . . . . . . . . . . 447
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Other Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Text Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Other Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Miscellaneous Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451