Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2013, 18:08
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 9 meses
Puntos: 192
Respuesta: Colorear Filas de una tabla. par-impar

Tu problema es un resultado raro de que escribiste mal "white". Pusiste "while".

Si hubieses puesto "white", no se colorearía ninguna fila al pasar el mouse (ni pares ni impares). Dado que "while" no es un color CSS válido, no lo aplica. Pero el otro si.

Entonces, usando jQuery (que para estos propósitos está muy mal) los estilos se aplican inline. Es decir:

Código HTML:
Ver original
  1. <tr style="background-color: white;"></tr>

Los estilos inline tienen mayor peso que los embebidos o los importados de una hoja de estilo. Entonces, el estilo inline "gana" frente al :hover que incorporaste en otro lado.

¿La solución? No uses jQuery. Está mal (para este propósito).

Código HTML:
Ver original
  1.   tr{
  2.     /* Todas las filas blancas */
  3.     background-color: white;
  4.   }
  5.   tr:nth-child(2n+1){
  6.     /* Filas impares grises */
  7.     background-color: grey;
  8.   }
  9.   tr:hover{
  10.     /* Filas celeste al pasar el mouse */
  11.     background-color: aqua;
  12.   }
  13.  
  14. <table width="100%">
  15.   <thead>
  16.     <tr>
  17.       <th></th>
  18.       <th></th>
  19.       <th></th>
  20.       <th></th>
  21.     </tr>
  22.   </thead>
  23.   <tbody>
  24.     <tr>
  25.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  26.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  27.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  28.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  29.     </tr>
  30.     <tr>
  31.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  32.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  33.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  34.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  35.     </tr>
  36.     <tr>
  37.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  38.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  39.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  40.       <td>lorem lorem lorem lorem lorem lorem lorem </td>
  41.     </tr>
  42.   </tbody>

En este ejemplo la primer regla (por ser una regla de tipo elemento) es la menos fuerte. Las otras dos reglas que siguen son más fuertes, pues son elemento:pseudo-clase y además vienen después. Por lo tanto, siempre gana la que está más abajo (en este caso, la hover).
__________________
nahueljose.com.ar