Le tableau occupe toute la largeur disponible. Utilisez thead, tbody et des cellules th avec scope pour que la structure soit comprise par les lecteurs d’écran.
.table-striped colore une ligne sur deux dans le corps du tableau. .table-striped-columns fait la même chose pour les colonnes ; les deux se combinent.
.table-hover met en évidence la ligne sous la souris. .table-active surligne en permanence une ligne, une cellule ou le tableau entier, par exemple pour marquer la ligne sélectionnée.
Les classes .table-primary, -secondary, -success, -info, -warning, -danger, -light et -dark colorent un tableau, une ligne ou une cellule. Texte et fond sont déjà assortis pour garder un bon contraste. La couleur seule ne porte pas le sens : ajoutez toujours un texte.
.table-bordered ajoute une bordure autour de chaque cellule ; .table-borderless les retire. Changez la couleur des bordures avec les utilitaires border-*.
Par défaut, l’en-tête s’aligne en bas et le corps en haut. Les utilitaires align-top, align-middle et align-bottom s’appliquent au tableau, à une ligne ou à une cellule.
Offre
Description
Taux
Prêt scolaire
Financez les frais de scolarité de vos enfants, remboursables sur 24 mois maximum, avec un différé possible pendant la période des vacances.
7 %
Prêt auto
Achetez un véhicule neuf ou d'occasion récent.
9 %
<table class="table align-middle"> <thead> <tr><th scope="col">Offre</th><th scope="col">Description</th><th scope="col">Taux</th></tr> </thead> <tbody> <tr> <th scope="row">Prêt scolaire</th> <td>Financez les frais de scolarité de vos enfants, remboursables sur 24 mois maximum, avec un différé possible pendant la période des vacances.</td> <td>7 %</td> </tr> <tr> <th scope="row">Prêt auto</th> <td class="align-bottom">Achetez un véhicule neuf ou d'occasion récent.</td> <td>9 %</td> </tr> </tbody></table>
Placez le tableau dans un .table-responsive pour lui donner un défilement horizontal quand il dépasse. Avec .table-responsive-{palier}, le défilement ne s’active que sous ce point de rupture (par exemple sous 768 px pour -md). Le conteneur, pas le tableau, défile ; ajoutez un nom accessible et le focus clavier avec tabindex="0".
Couleur contextuelle ; le texte et les bordures sont assortis.
.table-responsive
conteneur du tableau
Défilement horizontal à toutes les largeurs.
.table-responsive-sm à -xxl
conteneur du tableau
Défilement horizontal sous le point de rupture indiqué.
Variables CSS
Chaque tableau définit ses couleurs par des variables ; les classes de couleur ne font que les remplacer. Vous pouvez en redéfinir une sur un tableau précis.
Variables CSS
Variable
Rôle
--bs-table-color
Couleur du texte.
--bs-table-bg
Couleur de fond des cellules.
--bs-table-border-color
Couleur des bordures.
--bs-table-striped-color, --bs-table-striped-bg
Texte et fond des lignes rayées.
--bs-table-active-color, --bs-table-active-bg
Texte et fond de .table-active.
--bs-table-hover-color, --bs-table-hover-bg
Texte et fond au survol.
Bonnes pratiques
À faire
Réservez les tableaux aux données qui ont plusieurs colonnes de valeurs comparables (opérations, échéanciers, tarifs).
Alignez les montants à droite avec text-end pour que les chiffres se comparent d’un coup d’œil.
Mettez le tableau dans un .table-responsive dès qu’il compte plus de trois ou quatre colonnes.
Donnez un titre au tableau avec caption.
À éviter
N’utilisez pas un tableau pour mettre une page en forme : c’est le rôle de la grille.
N’indiquez pas un état par la couleur seule : écrivez-le aussi en texte (« En retard »).
Ne combinez pas trop de variantes (rayé, survol, bordures, couleurs) : le tableau devient chargé.
Accessibilité
Utilisez th avec scope="col" pour les en-têtes de colonne et scope="row" pour les en-têtes de ligne.
Ajoutez une caption ou un aria-label pour nommer le tableau.
Un conteneur défilant au clavier doit être focalisable (tabindex="0") et avoir un nom (role="region" et aria-labelledby).
Évitez les cellules fusionnées (colspan, rowspan) quand une structure simple est possible : elles compliquent la lecture avec un lecteur d’écran.