2011-09-19 7 views
5

Utilizo php para mi proyecto web, pero necesito este complemento para colorear solo con CSS.¿Cómo obtener el color par/impar para IE y Firefox usando solo CSS?

Por lo tanto, necesito un código que funcione en Firefox e Internet Explorer.

Este código está escrito, pero no funciona en Internet Explorer:

.tbl_css col:nth-child(odd){  
} 

.tbl_css col:nth-child(even){  
} 
+3

¿Quiere decir IE 5 o IE 9? Además, para alguien que no sabe * cómo * es posible algo, parece bastante seguro de que * es * factible. – Jon

Respuesta

13

Las versiones inferiores de IE no admitirán pseudo-selección.

Puede utilizar jQuery para hacer que funcione:

$(document).ready(function(){ 
    $('table tr:even').addClass('even'); 
    $('table tr:odd').addClass('odd'); 
}); 

En CSS simplemente:

.even{ /* your styles */ } 
.odd { /* your styles */ } 
+0

¡Agradable y simple, gracias! – Aries51

6

¿Qué versión de IE está realizando pruebas con?

El selector nth-child solo se agregó a IE en IE9. La versión anterior (IE8 y anterior) no es compatible.

Si necesita lograr este efecto en versiones anteriores de IE, necesitará usar una técnica alternativa. El más común es simplemente dar salida a su HTML con clases alternas en los elementos <tr>. También hay complementos JQuery que pueden lograr este efecto para usted.

Espero que ayude.

+2

+1, también agregaría este muy buen enlace: http://www.findmebyip.com/litmus/ – Jon

7

El pseudo-selector :nth-child es compatible con la versión más nueva de todos los principales navegadores (IE 9+, FF 3.5+). Si usted tiene que soportar los navegadores antiguos (IE 8, por ejemplo), puede asignar manualmente class="odd", class="even" a sus columnas, o usar jQuery:

$(".tbl_css col:nth-child(2n+1)").addClass("odd"); 
$(".tbl_css col:nth-child(2n)").addClass("even"); 

Renombrar .tbl_css col:nth-child(odd) a .odd.
Renombre .tbl_css col:nth-child(even) a .even.

Cuestiones relacionadas