Pregunta Selector CSS hijo vs descendiente


Lo leí usando el selector de niños (>) en css es más rápido que el selector descendente () Por ejemplo: p > em Opuesto a p em.

Me parece que la mayoría del código que veo en la naturaleza no se aprovecha de esto.

Entiendo que ciertas circunstancias merecerían el uso de una u otra, pero en general, ¿debería esforzarme por aprovechar el selector de niños siempre que sea posible? ¿O debería seguir lo que parece ser una convención y confiar principalmente en el selector descendiente?


14
2017-08-27 02:46


origen


Respuestas:


Teóricamente, el selector secundario será más rápido que el selector descendente porque el navegador puede detener la comprobación de los nodos secundarios después del primer nivel. Sin embargo, sospecho que cualquier mejora en el rendimiento que vea a partir de esto será insignificante ya que los navegadores analizan CSS rápidamente en primer lugar.

Como NullUserException señaló, el selector no funciona en IE6, así que si te importa mucho IE6 no cargaría tu CSS con él. Pero una cosa buena a tener en cuenta es que debe tener una idea muy clara de cuál usar en qué situación. Pregúntese, "¿Quiero que esta declaración cubra todas haciendo coincidir a los niños, o quiero que cubra solo directo Hacer coincidir a los niños? "Puede parecer obvio preguntarse tal pregunta, pero realmente es la única forma en que debe elegir entre los dos. No use > a menos que lo dices en serio.

También vea mi pregunta ¿Hay alguna ventaja al usar selectores muy específicos en CSS?

Ver también: Soporte de selector de CSS por navegador


11
2017-08-27 02:52