Colorer les lignes paires d’un tableau en CSS
Il est souvent très utile de colorer de façon alternée les lignes d’un tableau, ne serait-ce que pour s’y retrouvé ou simplement parce que c’est plus jolie. Sachez qu’il est très simple de le faire en CSS à l’aide des sélecteurs.
Prenons tout d’abord un tableau de base, avec comme code html :
<table> <tr> <td>Ligne1 Colonne1</td> <td>Ligne1 Colonne2</td> <td>Ligne1 Colonne3</td> </tr> <tr> <td>Ligne2 Colonne1</td> <td>Ligne2 Colonne2</td> <td>Ligne2 Colonne3</td> </tr> <tr> <td>Ligne3 Colonne1</td> <td>Ligne3 Colonne2</td> <td>Ligne3 Colonne3</td> </tr> <tr> <td>Ligne4 Colonne1</td> <td>Ligne4 Colonne2</td> <td>Ligne4 Colonne3</td> </tr> <tr> <td>Ligne5 Colonne1</td> <td>Ligne5 Colonne2</td> <td>Ligne5 Colonne3</td> </tr> </table>
et comme code CSS :
table { border-collapse: collapse; } td, tr { border: 1px solid #276145; padding:5px; }
On obtient donc ce tableau tout à fait classique :
Si maintenant on ajouter ce code CSS :
tr:nth-child(2n+1) { background-color : #CCC; }
On obtiendra alors le tableau suivant :
Vous remarquerez que les lignes paires ont maintenant un fond gris.
Pour faire cela j’ai utilisé le sélecteur nth-child(an+b). Ce sélecteur applique donc des propriétés CSS dans notre cas seulement toutes les « a » lignes en commençant par la numéro « b » (ici toutes les 2 lignes en commençant par la 1ère).
Si vous souhaitez colorer une ligne sur 3 il vous faudra donc utiliser : "nth-child(3n+1)".
Si vous souhaitez non plus commencer par la première, mais par la deuxième ligne il faudra utiliser : "nth-child(2n+2)".
Il faut savoir aussi que ce sélecteur n’est pas uniquement utilisable pour les tableaux, vous pouvez très bien l’utiliser pour sélectionner un <h1> sur deux … (avec h1:nth-child(2n+1)).
Catégories : CSS
Par Guillaume le 13/11/2013 à 23:15