Je veux zébrer un tableau html sans utiliser de trucs js ou écrire du code côté serveur pour générer des classes paires/impaires pour les lignes du tableau. Est-il possible de le faire en utilisant du css brut ?
Réponses
Trop de publicités?Si vous ne modifiez que la couleur d'arrière-plan, la solution suivante pourrait fonctionner : test.gif est une image de 40 px de haut dont les 20 px supérieurs sont d'une couleur et les 20 px inférieurs de l'autre couleur. Si vous devez modifier d'autres propriétés css, vous êtes pratiquement coincé.
table { background: url(test.gif) top; }
table tr { height: 20px; }
http://www.w3.org/Style/Examples/007/evenodd CSS 3 nth-child. Comme le support des navigateurs est limité, vous pouvez reproduire le comportement avec Sizzle (inclus dans, jquery par exemple)
En http://www.w3.org/TR/css3-selectors/#structural-pseudos vous trouverez des explications et des exemples sur l'utilisation de nth-child :
tr:nth-child(2n+1) /* represents every odd row of an HTML table */ {
background-color: green;
}
tr:nth-child(odd) /* same */ {
background-color: green;
}
tr:nth-child(2n+0) /* represents every even row of an HTML table */ {
background-color: pink;
}
tr:nth-child(even) /* same */ {
background-color: pink;
}
Bonne chance avec compatibilité des navigateurs - vous en aurez besoin.
Il existe des astuces pour le faire fonctionner dans IE (en utilisant JS) - je vous laisse le soin de les examiner.