Books & Videos

Table of Contents

  1. Chapter 1 Refactoring and Architecture

    1. What Is Refactoring?

    2. What Is Software Architecture?

    3. Shortcomings that Lead to Refactoring

    4. When Should Code Be Refactored?

    5. When Should Code NOT Be Refactored?

    6. Am I Allowed to Refactor My Code?

    7. Refactoring Examples

    8. Chapter Summary

  2. Chapter 2 Understanding the Cascade

    1. What Is the Cascade?

    2. Selector Specificity

    3. Ruleset Order

    4. Inline CSS and Specificity

    5. Overriding the Cascade with the !important Declaration

    6. Chapter Summary

  3. Chapter 3 Writing Better CSS

    1. Use Comments

    2. Consistently Structure Rulesets

    3. Keep Selectors Simple

    4. Decouple CSS and JavaScript

    5. Use Classes

    6. Assign Classes Meaningful Names

    7. Build a Better Box

    8. Chapter Summary

  4. Chapter 4 Classifying Different Types of Styles

    1. The Importance of Classifying Styles

    2. Normalizing Styles

    3. Base Styles

    4. Component Styles

    5. Structural Styles

    6. Utility Styles

    7. Browser-Specific Styles

    8. Chapter Summary

  5. Chapter 5 Testing

    1. Why Is Testing Difficult?

    2. Which Browsers Are Important to Test?

    3. Browser Market Share

    4. Testing with Multiple Browsers

    5. Testing with Old Versions of Browsers

    6. Testing the Bleeding Edge

    7. Third-Party Testing Services

    8. Testing with Developer Tools

    9. Visual Regression Testing

    10. Maintaining Your Code

    11. Chapter Summary

  6. Chapter 6 Code Placement and Refactoring Strategies

    1. Organize CSS from Least Specific to Most Specific Styles

    2. Multiple Files or One Big File?

    3. Auditing Your CSS Before Refactoring

    4. Refactoring Strategies

    5. Measuring Success

    6. Chapter Summary

  7. Appendix normalize.css