Maxy.fr

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 :

capture 2013-11-13 à 23.19.42
 
 

Si maintenant on ajouter ce code CSS :

 

tr:nth-child(2n+1)
{
     background-color : #CCC;
}

On obtiendra alors le tableau suivant :

capture 2013-11-13 à 23.22.59

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

Partager l'article :

Articles similaires

Faire une page avec plusieurs vues dynamiques sans Javascript

Il existe de plus en plus de petits sites avec une page unique disposant de plusieurs vues avec la possibilité de naviguer entre elles à l'aide de liens mais sans pour autant recharger la page. Le changement des vues est dynamique et on a souvent tendance à directement...

Définir plus facilement les largeurs avec box-sizing

Beaucoup d’entre vous le savent, il est parfois assez difficile à définir correctement la largeur d’un élément en CSS. Il suffit d’ajouter une marge intérieur (padding) pour que la largeur choisi à l’aide de la...