Entiendo que en jQuery, es ventajoso ser más específico al usar selectores para que jQuery no tenga que recorrer todo el DOM para encontrar lo que está buscando. Por ejemplo, $('span.description')
es mejor que solo $('.description')
si sé que la clase description
solo se aplica a los elementos <span>
.¿Hay alguna ventaja al usar selectores muy específicos en CSS?
¿Es este el caso con CSS, también? ¿Hay alguna ventaja específica para usar span.description { }
en lugar de .description { }
? Estoy pensando en términos de velocidad, optimización, etc. ¿Estoy guardando el navegador de cualquier trabajo diciéndole exactamente dónde buscar?
Notaré que la optimización de su CSS probablemente no produzca el mismo nivel de rendimiento que la optimización de su JS. Aún así, creo que mantener estas cosas en mente es una muy buena idea. –
Gracias por la información/enlace y no solo por decirme qué es la especificidad. :) –
"Una buena regla es descender de la ID más cercana". Una regla aún mejor es no usar selectores de descendientes sino usar clases en su lugar. Es importante comprender que los navegadores evalúan los selectores de derecha a izquierda, lo que significa que '# foo img' comenzará por encontrar cada'img'en el DOM y luego recorrerá el árbol DOM para ver si el resto del selector está satisfecho. – KaptajnKold