Seleccione todos los 'tr' excepto el primero

Resuelto asked hace 14 años • 10 respuestas

¿Cómo puedo seleccionar todos trlos elementos excepto el primero tren una tabla con CSS?

Intenté usar este método, pero descubrí que no funcionó.

 avatar Oct 25 '10 17:10
Aceptado

Al agregar una clase al primer s tro al siguiente tr. No existe una forma en todos los navegadores de seleccionar las filas que desea solo con CSS.

Sin embargo, si no le interesa Internet Explorer 6, 7 u 8:

tr:not(:first-child) {
    color: red;
}
Magnar avatar Oct 25 '2010 10:10 Magnar

Me sorprende que nadie haya mencionado el uso de combinadores entre hermanos, que son compatibles con IE7 y versiones posteriores:

tr + tr /* CSS2, adjacent sibling */
tr ~ tr /* CSS3, general sibling */

Ambos funcionan exactamente de la misma manera (al menos en el contexto de las tablas HTML) que:

tr:not(:first-child)
BoltClock avatar Dec 18 '2011 07:12 BoltClock

solución ideal pero no compatible con IE

tr:not(:first-child) {css}

La segunda solución sería diseñar todos los tr y luego anularlos con CSS para el primer hijo:

tr {css}
tr:first-child {override css above}
Mark Steggles avatar Oct 25 '2010 10:10 Mark Steggles

Otra opción:

tr:nth-child(n + 2) {
    /* properties */
}
Arman Yeghiazaryan avatar Sep 10 '2017 11:09 Arman Yeghiazaryan

Parece que la 'primera línea' de la que estás hablando es el encabezado de tu tabla, por lo que realmente deberías pensar en usar theady tbodyen tu marcado ( haz clic aquí ), lo que daría como resultado un marcado 'mejor' (semánticamente correcto, útil para cosas como lectores de pantalla). ) y posibilidades más sencillas y compatibles con todos los navegadores para la selección CSS ( table thead ... { ... })

oezi avatar Oct 25 '2010 10:10 oezi