Source: CSS pocketbook
Simple selectors
universal selector, match any element *
type (or element) selector E
ID selector E#myid
class selector E.myclass
Combinators & negation
F element, which is a descendant of an E element E F
F element which is the direct child of an E element E > F
F element that is immediately preceded by an E element E + F
F element preceded at some point by an E element E ~ F
E element that does not match simple selector s E:not(s)
Attribute selectors
E’s attribute foo, value is exactly equal to bar E[foo="bar"]
E’s attribute foo, value is whitespace separated values, one of which is exactly "bar" E[foo~="bar"]
E’s attribute foo, value begins exactly "bar" E[foo^="bar"]
E’s attribute foo, value ends exactly "bar" E[foo$="bar"]
E’s attribute foo, value contains substring "bar" E[foo*="bar"]
E’s attribute foo has a hyphen-separated list of values beginning (from the left) with "en" E[foo|="en"]
Structural pseudo-classes
an E element, first child of its parent E:first-child
an E element, first sibling of its type E:first-of-type
an E element, last child of its parent E:last-child
an E element, last sibling of its type E:last-of-type
an E element, only child of its parent E:only-child
an E element, only sibling of its type E:only-of-type
an E element that has no children (including text nodes) E:empty
an E element, the n-th child of its parent E:nth-child(n)
an E element, the n-th child of its parent, counting from the last one E:nth-last-child(n)
an E element, the n-th sibling of its type E:nth-of-type(n)
an E element, the n-th sibling of its type, counting from the last one E:nth-last-of-type(n)
an E element that is the document root, i.e. html E:root
Pseudo-classes
matches a link E when E is a link and not visited, hovered over focused on or active E:link
the href target of the link E has been visited E:visited
the link E has been activated E:active
any element E when hovered over with a mouse E:hover
the link or form control E when tabbed to with a keyboard E:focus
element E is the fragment in the referring URI E:target
an element of type E in language "fr" E:lang(fr)
Forms & Pseudo-Elements
a user interface element E which is enabled E:enabled
a user interface element E which is disabled E:disabled
a user interface element E which is checked E:checked
the first formatted line of an E element E::first-line
the first formatted letter of an E element E::first-letter
generated content before an E element E::before
generated content after an E element E::after