que - seleccionar hijos en css
¿Cómo puedo seleccionar todos los elementos secundarios de un elemento excepto el último elemento? (6)
Hazlo simple:
Puede aplicar su estilo a todos los div y reinicializar el último con : last-child :
por ejemplo en CSS :
.yourclass{
border: 1px solid blue;
}
.yourclass:last-child{
border: 0;
}
o en SCSS :
.yourclass{
border: 1px solid rgba(255, 255, 255, 1);
&:last-child{
border: 0;
}
}
- fácil de leer / recordar
- rápido para ejecutar
- navegador compatible (IE9 + ya que todavía es CSS3)
¿Cómo seleccionaría a todos menos al último hijo usando selectores de CSS3?
Por ejemplo, para obtener solo el último hijo sería div:nth-last-child(1)
.
Cuando venga IE9, será más fácil. Sin embargo, muchas veces, puede cambiar el problema a uno que requiera: primer hijo y estilo del lado opuesto del elemento (IE7 +).
El uso de la solución de nick craver con selectivizr permite una solución de navegador cruzado (IE6 +)
La solución de Nick Craver funciona, pero también puedes usar esto:
:nth-last-child(n+2) { /* Your code here */ }
Chris Coyier de CSS Tricks hizo un bonito : nth tester para esto.
Puede usar la pseudo-clase de negación :not()
contra la pseudo-clase :last-child
. Al ser introducido el selector de CSS Nivel 3, no funciona en IE8 o inferior:
:not(:last-child) { /* styles */ }
para encontrar elementos del último uso
<style>
ul li:nth-last-of-type(3n){ color:#a94442} /**/
</style>