Cuando hay un elemento seguido de otro, significa que es el padre, por ejemplo, en
Código :
table tr td
afectas a todos los td que esten dentro de tr que a su vez estén dentro de table. (Va igual con los # y los . que esten "nested")
Cuando hay un tag unido con un nombre por un punto:
Código :
table.mistablas
Ahi estás afectando a las tags "table" que tengan además la clase "mistablas"
Las declaraciones precedidas por dos puntos ( : ) son pseudoclases. Se refieren al estado en el que se encuentra el elemento. Los principales, que se aplican a links, son:
Código :
a:link{}
a:visited{}
a:hover{}
a:active{}
Que se aplican a un link, a un link visitado, a un link subrayado y a un link pulsado respectivamente. Hay otras pseudoclases como :focus, que se usan para formularios.
Las comas separan elementos, por ejemplo
Código :
a, table {}
afectará a todos los elementos a o/y table.
Asi que....
#linkList h3.select = Todos los tags h3 que tengan la class "select" y esten dentro del elemento con id #linkList
li:hover ul, li.over ul = Todas las listas ul contenidas en un li sobre el cual esta el puntero y todas las listas que esten dentro de un li que tenga la clase "over"
#menu div.barraMenu a.botonMenu:active = Todos los <a> que esten activos (presionados, desplegados, etc), tengan como class "botonMenu", estén dentro de un div que tenga como class "barraMenu", que a su vez esté dentro de algo que tenga "menu" como id. (ufff... @_@ )
Espero te sirva la explicación.