From http://www.w3.org/TR/CSS2/selector.html (open source in a new window)
|Pattern||Meaning||Described in section|
|*||Matches any element.||Universal|
|E||Matches any E element (i.e., an element of type E).||Type|
|E F||Matches any F element that is a descendant of|
an E element.
|E > F||Matches any F element that is a child of|
an element E.
|E:first-child||Matches element E when E is the first|
child of its parent.
|The :first-child pseudo-class|
|Matches element E if E is the source|
anchor of a hyperlink of which the target is not yet visited (:link)
or already visited (:visited).
|The link pseudo-classes|
|Matches E during certain|
|The dynamic pseudo-classes|
|E:lang(c)||Matches element of type E if it is in (human) language c|
(the document language specifies how language is determined).
|The :lang() pseudo-class|
|E + F||Matches any F element immediately preceded by|
a sibling element E.
|E[foo]||Matches any E element with the|
"foo" attribute set (whatever the value).
|E[foo="warning"]||Matches any E element whose|
"foo" attribute value is exactly equal to "warning".
|E[foo~="warning"]||Matches any E element whose|
"foo" attribute value is a list of space-separated values, one of
which is exactly equal to "warning".
|E[lang|="en"]||Matches any E element whose|
"lang" attribute has a hyphen-separated list of values
beginning (from the left) with "en".
|DIV.warning||Language specific. (In HTML, the same|
|E#myid||Matches any E element with ID|
equal to "myid".