Selectors, Specificity, and the Cascade
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
1. Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Basic Style Rules 1
Element Selectors 2
Declarations and Keywords 3
Grouping 4
Grouping Selectors 5
Grouping Declarations 6
Grouping Everything 7
Class and ID Selectors 9
Class Selectors 9
Multiple Classes 11
ID Selectors 13
Deciding Between Class and ID 14
Attribute Selectors 15
Simple Attribute Selectors 15
Selection Based on Exact Attribute Value 16
Selection Based on Partial Attribute Values 18
A Particular Attribute Selection Type 21
Using Document Structure 22
Understanding the Parent-Child Relationship 22
Descendant Selectors 24
Selecting Children 27
Selecting Adjacent Sibling Elements 28
Selecting Following Siblings 30
Pseudo-Class Selectors 31
Combining Pseudo-Classes 31
Structural Pseudo-Classes 31
Dynamic Pseudo-Classes 43
UI State Pseudo-Classes 47
The :target Pseudo-Class 49
iii
The :lang Pseudo-Class 50
The Negation Pseudo-Class 51
Pseudo-Element Selectors 53
Styling the First Letter 54
Styling the First Line 55
Restrictions on ::first-letter and ::first-line 55
Styling (Or Creating) Content Before and After Elements 56
Summary 56
2. Specificity and the Cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Specificity 59
Declarations and Specificity 61
Universal Selector Specificity 62
ID and Attribute Selector Specificity 63
Inline Style Specificity 63
Importance 64
Inheritance 65
The Cascade 68
Sorting by Weight and Origin 68
Sorting by Specificity 69
Sorting by Order 70
Non-CSS Presentational Hints 72
Summary 73
iv |