La tabla de más abajo no es más que un resumen que he realizado después de comprobar como los selectores de CSS se comportan con los distintos navegadores.
Para la comprobación he utilizado la herramienta de herramienta de css3.info.
Selectores / Navegadores
FF2
IE7
IE6
OPERA9
SAFARI2
*
Sí
Si
Sí
Sí
Sí
E
Sí
Si
Sí
Sí
Sí
.class
Sí
Si
Bug
Sí
Sí
#id
Sí
Si
Sí
Sí
Sí
E F
Sí
Si
Sí
Sí
Sí
E > F
Sí
Si
No
Sí
Sí
E + F
Sí
Si
No
Sí
Sí
E[attribute]
Sí
Bug
No
Sí
Sí
E[attribute=value]
Bug
Si
No
Bug
Bug
E[attribute~=value]
Bug
Bug
No
Sí
Bug
E[attribute|=value]
Bug
Bug
No
Sí
Bug
:first-child
Bug
Bug
No
Bug
Bug
:link
Sí
Si
Sí
Sí
Sí
:visited
Sí
Si
Sí
Sí
Sí
:lang()
Sí
No
No
Bug
Sí
:before
Sí
No
No
Sí
Sí
::before
Sí
No
No
Sí
Sí
:after
Sí
No
No
Sí
Sí
::after
Sí
No
No
Sí
Sí
:first-letter
Sí
Si
Sí
Sí
Sí
::first-letter
Sí
No
Sí
Sí
Sí
:first-line
Sí
Si
Sí
Sí
Sí
::first-line
Sí
No
Sí
Sí
Sí
E[attribute^=value]
Bug
No
No
No
Bug
E[attribute$=value]
Bug
No
No
No
Bug
E[attribute*=value]
Bug
No
No
No
Bug
E ∼ F
Sí
Si
No
No
No
:root
Sí
No
No
No
Sí
:last-child
Bug
No
No
No
No
:only-child
Bug
No
No
No
No
:nth-child()
No
No
No
No
No
:nth-last-child()
No
No
No
No
No
:first-of-type
No
No
No
No
No
:last-of-type
No
No
No
No
No
:only-of-type
No
No
No
No
No
:nth-of-type()
No
No
No
No
No
:nth-last-of-type()
No
No
No
No
No
:empty
Bug
No
No
No
No
:not()
Sí
No
No
No
Sí
:target
Sí
No
No
No
Sí
:enabled
Sí
No
No
Si
No
:disabled
Sí
No
No
Si
No
:checked
Sí
No
No
Si
No
CSS, navegadores, comparativa