Selectors from level 4 to 1
CSS selectors level 4
Attribute case-sensitivity
[attribute='value' i] / [attribute='value' s]
Blank pseudo-class
:blank
Structural pseudo-class
:nth-child()
Dir pseudo-class
:dir(ltr)
Hyperlink pseudo-class
:any-link
Lang pseudo-class
:lang(en-*)
Local link pseudo-class
:local-link
Matches-any pseudo-class
:is(s1, s2, …)
Specificity-adjustment pseudo-class
:where(s1, s2, …)
Mutability pseudo-class
:read-only / :read-write
Negation pseudo-class
:not(s1, s2, …)
Optionality pseudo-class
:required / :optional
Placeholder pseudo-class
:placeholder-shown
Indeterminate-value pseudo-class
:indeterminate
Validity pseudo-class
:valid / :invalid
User-interaction pseudo-class
:user-invalid
Relational pseudo-class
:has(*)
Scope pseudo-class
:scope
Range pseudo-class
:in-range / :out-of-range
Grid-Structural pseudo-class
:nth-col(n) / :nth-last-col(n)
Time-dimensional pseudo-class
:current / :past / :future
Default option pseudo-class
:default
Focus container pseudo-class
:focus-within
Focus indicated pseudo-class
:focus-visible
Target container pseudo-class
:target-within
Column combination
E || F
CSS selectors level 3
Attribute
[foo^='bar'] / [foo$='bar'] / [foo*='bar']
Target pseudo-class
:target
Negation pseudo-class
:not(s)
Enabled and Disabled pseudo-class
:enabled / :disabled
Selected-option pseudo-class
:checked
Structural pseudo-class
:root / :empty / :last-child / :only-child / :first-of-type / :last-of-type / :only-of-type / :nth-child(n) / :nth-last-child(n) / :nth-of-type(n) / :nth-last-of-type(n)
CSS selectors level 2
Lang pseudo-class
:lang(en)
User action pseudo-class
:hover / :focus
Structural pseudo-class
:first-child
Child combination
E > F
Attribute
[foobar] / [attribute='value'] / [foo~='bar'] / [foo|='en']