2012-03-09 9 views
7

Tengo la siguiente tabla, con la primera línea que contiene 2 sublíneas y la segunda que contiene 3 sublíneas.Html multilines tables (rowspan): ¿cómo cebrar de la manera correcta?

Poco Con este estilo CSS, el color de la cebra (es decir, color alternativo en dos filas consecutivas) es defectuoso, segunda celda principal será de color blanco y no gris:

tr:nth-child(odd) {background-color: #eee;} 
tr:nth-child(even) {background-color: #fff;} 

Faulty zebra with nth-child css

Así

¿Hay alguna manera de que el color de cebra coloque una mesa de la manera correcta?

Por supuesto, mi problema real se ocupa de muchas más filas, con un número mucho más variable de sublíneas.

<head> 
    <style> 
     tr:nth-child(odd) {background-color: #eee;} 
     tr:nth-child(even) {background-color: #fff;} 
    </style> 
<head> 
<body> 
    <table border="1"> 
     <tr> 
      <td rowspan="2"> 
       Big1 
      </td> 
      <td> 
       small1 
      </td> 
     </tr> 
     <tr> 
      <td> 
       small2 
      </td> 
     </tr> 
     <tr> 
      <td rowspan="3"> 
       Big2 
      </td> 
      <td> 
       small1 
      </td> 
     </tr> 
     <tr> 
      <td> 
       small2 
      </td> 
     </tr> 
     <tr> 
      <td> 
       small3 
      </td> 
     </tr> 
    </table> 
</body> 
+0

¿Qué es un "color cebra"? – Oded

+0

Agregó una definición para el color de cebra: alterna el color en dos filas consecutivas – Vinzz

+0

¿Cómo quieres que sean las rayas de cebra? – BoltClock

Respuesta

1

Funciona tal como está diseñado.

isnt trabajando como

<tr> 
     <td rowspan="2"> 
      Big1 
     </td> 
     <td> 
      small1 
     </td> 
    </tr> 

va a ser de color gris, que es la primera TR (impar)

<tr> 
     <td> 
      small2 
     </td> 
    </tr> 

será blanco, su segundo TR (incluso), etc.

La mejor manera de hacerlo será asignar clases 'impares' y 'pares' al tr en cuestión manualmente.

+0

De hecho, llegué a la misma conclusión. Gracias, tienes los puntos – Vinzz

Cuestiones relacionadas