[html] Seleccionar todos los elementos 'tr' excepto el primer 'tr' en una tabla con CSS


Answers

Me sorprende que nadie mencionó el uso de los combinators hermanos, que son compatibles con IE7 y posterior:

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

Ambos funcionan exactamente de la misma manera (en el contexto de tablas HTML de todos modos) como:

tr:not(:first-child)
Question

¿Cómo puedo seleccionar todos los elementos tr excepto el primer tr en una tabla con CSS?

Intenté usar este método, pero descubrí que no funcionaba:

http://www.daniel-lemire.com/blog/archives/2008/08/22/how-to-select-even-or-odd-rows-in-a-table-using-css-3/




Debido a que tr:not(:first-child) no es compatible con IE 6, 7, 8. Puede usar la ayuda de jQuery. Puede encontrarlo here




Lo siento, sé que esto es viejo, pero ¿por qué no diseñar todos los elementos tr de la manera que quieras todos excepto el primero y el uso de la clase psuedo: primer hijo en el que revocas lo que especificaste para todos los elementos tr?

Mejor descrito por este ejemplo:

http://jsfiddle.net/DWTr7/1/

tr {
    border-top: 1px solid;
}
tr:first-child {
    border-top: none;   
}

/ Patrik




suena como la "primera línea" de la que habla es su encabezado de tabla, así que realmente debería pensar en usar thead y tbody en su marcado ( haga clic aquí ) lo que resultaría en un "mejor" marcado (semánticamente correcto, útil para cosas al igual que los lectores de pantalla) y las posibilidades más sencillas y fáciles de usar en todos los navegadores para la selección de css ( table thead ... { ... } )




Podría crear una clase y usar la clase cuando defina todos los futuros que desee (o no desee) que sean seleccionados por el CSS.

Esto se haría escribiendo

<tr class="unselected">

y luego en su CSS teniendo las líneas (y usando el comando text-align como ejemplo):

unselected {
  text-align:center;
}



selected {
  text-align:right;
}



Related