Depende. La mayoría de las veces, se podría decir:
#tag-cloud { ... }
es el mejor (en cuanto a rendimiento, ver a continuación). Esto:
#main #sidebar #tag-cloud { ... }
simplemente hace un montón de comprobaciones innecesarias que tienen éxito.
A menos que desee hacer esto:
#sidebar #tag-cloud { ... }
#not-sidebar #tag-cloud { ... }
en cuyo caso alcance define un aspecto diferente dependiendo de donde es #tag-cloud
. Por supuesto, solo puede haber un #tag-cloud
en su página, pero su CSS podría manejar ambos casos de todos modos.
Las comprobaciones CSS se realizan de derecha a izquierda. Este:
#main #sidebar #tag-cloud { ... }
se evalúa como:. "El elemento con ID tag-cloud
que tiene un padre con ID sidebar
que tiene un padre con ID main
Si es así como se ve su sitio todos modos, eso es sólo un montón de inútiles DOM recorrido.
por no hablar del hecho de que con más específica, de alcance superflua toda la CSS debe cambiar en muchos lugares si se modifica la estructura del sitio, que de alguna manera desafía el propósito.
para yo Para su conveniencia: http://www.stuffandnonsense.co.uk/archives/images/specificitywars-05v2.jpg, pero tenga en cuenta las respuestas a continuación. –