> Faqs > Selector CSS todos menos el primer hijo

Selector CSS todos menos el primer hijo

Quisiera aplicar estilos CSS sobre todos los elementos de una secuencia, salvo el primero de ellos.

Sé que existe un selector :first-child. Por ejemplo:

li:first-child {
    font-weight: bold;
}

Pero este me permite seleccionar únicamente el primer hijo, es decir el primero de los elementos LI de la secuencia. Mi intención sería seleccionar y aplicar estilos a todos los elementos menos el primero.

Respuestas

Desconozco si hay un selector para seleccionar todos los demás hijos, al menos no he tenido que usarlo nunca. Lo más sencillo sería:

li:first-child {
    font-weight: normal;
}
li {
    font-weight: bold;
}
Cristian
125 6 13
Esa lógica es la que suelo emplear yo también

No existe un selector de todos menos el primer hijo. La respuesta de Cristian es perfecta para conseguir lo que deseas y es la más sencilla.

Pero además existe un selector de negación :not(), que combinado con el del primer hijo :first-child puede producir el efecto que estás buscando.

El código te quedaría así:

li:not(:first-child) {
    font-weight: bold;
}

Creo que esto está disponible en todos los navegadores. Inclusive Internet Explorer.

Alfredo
163 5 11 6