| Foreword |
| About the Authors |
| About the Technical Reviewer |
| Acknowledgments |
| Introduction |
| Setting the Foundations / Chapter 1: |
| Structuring your code |
| Use meaningful markup |
| IDs and class names |
| Divs and spans |
| Document types, DOCTYPE switching, and browser modes |
| Validation |
| Browser modes |
| DOCTYPE switching |
| Getting your styles to hit the target |
| Common selectors |
| Pseudo-classes |
| The universal selector |
| Advanced selectors |
| Child and adjacent sibling selectors |
| Attribute selectors |
| The cascade and specificity |
| Specificity |
| Using specificity in your stylesheets |
| Adding a class or an ID to the body tag |
| Inheritance |
| Planning, organizing, and maintaining your stylesheets |
| Applying styles to your document |
| Commenting your code |
| Adding structural comments |
| Note to self |
| Removing comments and optimizing your stylesheets |
| Style guides |
| Organizing your stylesheets for easy maintenance |
| Summary |
| Visual Formatting Model Recap / Chapter 2: |
| Box model recap |
| IE/Win and the box model |
| Margin collapsing |
| Positioning recap |
| The visual formatting model |
| Relative positioning |
| Absolute positioning |
| Fixed positioning |
| Floating |
| Line boxes and clearing |
| Background Images and Image Replacement / Chapter 3: |
| Background image basics |
| Rounded-corner boxes |
| Fixed-width rounded-corner boxes |
| Flexible rounded-corner box |
| Mountaintop corners |
| Drop shadows |
| Easy CSS drop shadows |
| Drop shadows a la Clagnut |
| Fuzzy shadows |
| Onion skinned drop shadows |
| Image replacement |
| Fahrner Image Replacement (FIR) |
| Phark |
| Gilder/Levin method |
| Inman Flash Replacement (IFR) and Scalable Inman Flash Replacement (sIFR) |
| Styling Links / Chapter 4: |
| Simple link styling |
| Fun with underlines |
| Fancy link underlines |
| Highlighting different types of link |
| Highlighting downloadable documents and feeds |
| Creating buttons and rollovers |
| Simple rollovers |
| Rollovers with images |
| Pixy-style rollovers |
| Visited-link styles |
| Pure CSS tooltips |
| Styling Lists and Creating Nav Bars / Chapter 5: |
| Basic list styling |
| Creating a vertical nav bar |
| Highlighting the current page in a nav bar |
| Creating a horizontal nav bar |
| Simplified "sliding doors" tabbed navigation |
| CSS image maps |
| flickr-style image maps |
| Remote rollovers |
| A short note about definition lists |
| Styling Forms and Data Tables / Chapter 6: |
| Styling data tables |
| Table-specific elements |
| summary and caption |
| thead, tbody, and tfoot |
| col and colgroups |
| Data table markup |
| Styling the table |
| Adding the visual style |
| Added extras |
| Simple form layout |
| Useful form elements |
| Form labels |
| The basic layout |
| Other elements |
| Embellishments |
| Required fields |
| Complicated form layout |
| Accessible date input |
| Multicolumn check boxes |
| Form feedback |
| Layout / Chapter 7: |
| Centering a design |
| Centering a design using auto margins |
| Centering a design using positioning and negative margins |
| Float-based layout |
| Two-column floated layout |
| Three-column floated layout |
| Fixed-width, liquid, and elastic layout |
| Liquid layouts |
| Elastic layouts |
| Elastic-liquid hybrid |
| Liquid and elastic images |
| Faux columns |
| Hacks and Filters / Chapter 8: |
| An introduction to hacks and filters |
| A warning about hacks and filters |
| Using hacks sensibly |
| Filtering separate stylesheets |
| Internet Explorer conditional comments |
| Band pass filters |
| Filtering individual rules and declarations |
| The child selector hack |
| Attribute selector hack |
| The star HTML hack |
| IE/Mac commented backslash hack |
| The escaped property hack |
| Tantek's box model hack |
| The modified simplified box model hack |
| The limportant and underscore hacks |
| The Owen hack |
| Bugs and Bug Fixing / Chapter 9: |
| Bug hunting |
| Common CSS problems |
| Problems with specificity and sort order |
| Problems with margin collapsing |
| Bug hunting basics |
| Isolate the problem |
| Creating a minimal test case |
| Fix the problem, not the symptoms |
| Ask for help |
| Having "layout" |
| What is "layout"? |
| What effect does layout have? |
| Common bugs and their fixes |
| Double-margin float bug |
| Three-pixel text jog bug |
| IE 6 duplicate character bug |
| IE 6 peek-a-boo bug |
| Absolute positioning in a relative container |
| Stop picking on Internet Explorer |
| More Than Doodles / Case Study 1: |
| About this case study |
| Controlling content area with descendant selectors |
| The XHTML |
| A note about naming conventions |
| Three-column layout |
| Two-column layout |
| One-column layout |
| Removing unwanted columns |
| Floating the columns |
| The calculations |
| Floating the columns in the right place |
| Highlighting the current page based on the body class |
| Drop-in boxes for columns |
| Right-angled or rounded corners-you decide |
| Flat, right-angled corners |
| So, let's prepare for something special |
| Transparent custom corners and borders |
| The images |
| The CSS |
| Combining classes for targeted actions |
| Image classes and exceptions |
| Default images |
| Owned images |
| Larger images |
| Dealing with links |
| Understanding the sidebar links |
| Checked-off visited links |
| LAHV, not LVHA |
| Highlighting external links |
| Floated drop shadows (gallery) |
| Casting the shadows |
| Floating the images |
| Tuscany Luxury Resorts / Case Study 2: |
| The fluid layout |
| Body and container |
| Masthead |
| Content and sidebar |
| Fluid properties |
| Footer |
| Resolving fluid layout issues |
| Aligning elements using absolute positioning |
| Location properties (top, bottom, left, right) |
| Stacking order (z-index) |
| Background image techniques |
| Dividing the top in three |
| "Bulletproofing" a background |
| Logo image replacement |
| Initial cap image replacement |
| Fluid imagery |
| Coding a fluid image |
| Using a single list item for multiple elements |
| Coding the menu |
| Index |
| Foreword |
| About the Authors |
| About the Technical Reviewer |