Documentation et exemples pour le style opt-in des tableaux (compte tenu de leur utilisation courante dans les plugins JavaScript) avec Bootstrap.
Sur cette page
Aperçu
En raison de l'utilisation généralisée d' <table>éléments dans des widgets tiers tels que des calendriers et des sélecteurs de dates, les tables de Bootstrap sont opt-in . Ajoutez la classe de base .tableà any <table>, puis étendez-la avec nos classes de modificateurs facultatives ou nos styles personnalisés. Tous les styles de table ne sont pas hérités dans Bootstrap, ce qui signifie que toutes les tables imbriquées peuvent être stylisées indépendamment du parent.
En utilisant le balisage de table le plus basique, voici à quoi .tableressemblent les tables basées sur Bootstrap.
#
Première
Dernier
Gérer
1
Marquer
Otto
@mdo
2
Jacob
Thornton
@gros
3
Larry l'oiseau
@Twitter
<tableclass="table"><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><tdcolspan="2">Larry the Bird</td><td>@twitter</td></tr></tbody></table>
Variantes
Utilisez des classes contextuelles pour colorer des tableaux, des lignes de tableau ou des cellules individuelles.
Classer
Titre
Titre
Défaut
Cellule
Cellule
Primaire
Cellule
Cellule
Secondaire
Cellule
Cellule
Succès
Cellule
Cellule
Danger
Cellule
Cellule
Avertissement
Cellule
Cellule
Info
Cellule
Cellule
Lumière
Cellule
Cellule
Sombre
Cellule
Cellule
<!-- On tables --><tableclass="table-primary">...</table><tableclass="table-secondary">...</table><tableclass="table-success">...</table><tableclass="table-danger">...</table><tableclass="table-warning">...</table><tableclass="table-info">...</table><tableclass="table-light">...</table><tableclass="table-dark">...</table><!-- On rows --><trclass="table-primary">...</tr><trclass="table-secondary">...</tr><trclass="table-success">...</tr><trclass="table-danger">...</tr><trclass="table-warning">...</tr><trclass="table-info">...</tr><trclass="table-light">...</tr><trclass="table-dark">...</tr><!-- On cells (`td` or `th`) --><tr><tdclass="table-primary">...</td><tdclass="table-secondary">...</td><tdclass="table-success">...</td><tdclass="table-danger">...</td><tdclass="table-warning">...</td><tdclass="table-info">...</td><tdclass="table-light">...</td><tdclass="table-dark">...</td></tr>
Donner du sens aux technologies d'assistance
L'utilisation de la couleur pour ajouter du sens ne fournit qu'une indication visuelle, qui ne sera pas transmise aux utilisateurs de technologies d'assistance, telles que les lecteurs d'écran. Assurez-vous que les informations indiquées par la couleur sont soit évidentes à partir du contenu lui-même (par exemple, le texte visible), soit incluses par des moyens alternatifs, tels que du texte supplémentaire masqué avec la .visually-hiddenclasse.
Tableaux accentués
Rangées rayées
Utilisez .table-stripedpour ajouter des rayures zébrées à n'importe quelle ligne de tableau dans le fichier <tbody>.
#
Première
Dernier
Gérer
1
Marquer
Otto
@mdo
2
Jacob
Thornton
@gros
3
Larry l'oiseau
@Twitter
<tableclass="table table-striped">
...
</table>
Ces classes peuvent également être ajoutées aux variantes de table :
Nous commençons par définir l'arrière-plan d'une cellule de tableau avec la --bs-table-bgpropriété personnalisée. Toutes les variantes de tableau définissent ensuite cette propriété personnalisée pour coloriser les cellules du tableau. De cette façon, nous n'avons pas de problèmes si des couleurs semi-transparentes sont utilisées comme arrière-plan de table.
Ensuite, nous ajoutons une ombre de boîte en médaillon sur les cellules du tableau avec box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);une couche au-dessus de tout spécifié background-color. Parce que nous utilisons une grande diffusion et aucun flou, la couleur sera monotone. Puisque --bs-table-accent-bgn'est pas défini par défaut, nous n'avons pas d'ombre de boîte par défaut.
Lorsque les classes .table-striped, .table-hoverou sont ajoutées, la est définie sur une couleur semi-transparente pour coloriser l'arrière-plan..table-active--bs-table-accent-bg
Pour chaque variante de tableau, nous générons une --bs-table-accent-bgcouleur avec le contraste le plus élevé en fonction de cette couleur. Par exemple, la couleur d'accentuation de .table-primaryest plus foncée alors que la couleur d'accentuation est plus .table-darkclaire.
Les couleurs du texte et des bordures sont générées de la même manière et leurs couleurs sont héritées par défaut.
Les cellules du tableau <thead>sont toujours alignées verticalement vers le bas. Les cellules du tableau <tbody>héritent de leur alignement <table>et sont alignées en haut par défaut. Utilisez les classes d' alignement vertical pour réaligner si nécessaire.
Rubrique 1
Rubrique 2
Rubrique 3
Rubrique 4
Cette cellule hérite vertical-align: middle;de la table
Cette cellule hérite vertical-align: middle;de la table
Cette cellule hérite vertical-align: middle;de la table
Voici un texte d'espace réservé, destiné à occuper un peu d'espace vertical, pour montrer comment l'alignement vertical fonctionne dans les cellules précédentes.
Cette cellule hérite vertical-align: bottom;de la ligne du tableau
Cette cellule hérite vertical-align: bottom;de la ligne du tableau
Cette cellule hérite vertical-align: bottom;de la ligne du tableau
Voici un texte d'espace réservé, destiné à occuper un peu d'espace vertical, pour montrer comment l'alignement vertical fonctionne dans les cellules précédentes.
Cette cellule hérite vertical-align: middle;de la table
Cette cellule hérite vertical-align: middle;de la table
Cette cellule est alignée vers le haut.
Voici un texte d'espace réservé, destiné à occuper un peu d'espace vertical, pour montrer comment l'alignement vertical fonctionne dans les cellules précédentes.
<divclass="table-responsive"><tableclass="table align-middle"><thead><tr>
...
</tr></thead><tbody><tr>
...
</tr><trclass="align-bottom">
...
</tr><tr><td>...</td><td>...</td><tdclass="align-top">This cell is aligned to the top.</td><td>...</td></tr></tbody></table></div>
Nidification
Les styles de bordure, les styles actifs et les variantes de tableau ne sont pas hérités par les tableaux imbriqués.
Pour éviter que des styles ne fuient vers des tables imbriquées, nous utilisons le >sélecteur de combinateur enfant ( ) dans notre CSS. Puisque nous devons cibler tous les tds et ths dans les thead, tbodyet tfoot, notre sélecteur aurait l'air assez long sans cela. En tant que tel, nous utilisons le .table > :not(caption) > * > *sélecteur plutôt étrange pour cibler tous les tds et ths du .table, mais aucune des tables imbriquées potentielles.
Notez que si vous ajoutez <tr>s en tant qu'enfants directs d'une table, ceux <tr>-ci seront enveloppés dans a <tbody>par défaut, ce qui fera fonctionner nos sélecteurs comme prévu.
Anatomie
Tête de table
Semblable aux tables et aux tables sombres, utilisez les classes de modificateur .table-lightou .table-darkpour faire <thead>apparaître s en gris clair ou foncé.
A <caption>fonctionne comme le titre d'un tableau. Il aide les utilisateurs de lecteurs d'écran à trouver un tableau, à comprendre de quoi il s'agit et à décider s'ils veulent le lire.
Liste des utilisateurs
#
Première
Dernier
Gérer
1
Marquer
Otto
@mdo
2
Jacob
Thornton
@gros
3
Larry l'oiseau
@Twitter
<tableclass="table table-sm"><caption>List of users</caption><thead>
...
</thead><tbody>
...
</tbody></table>
Vous pouvez également mettre le <caption>sur le dessus de la table avec .caption-top.
Liste des utilisateurs
#
Première
Dernier
Gérer
1
Marquer
Otto
@mdo
2
Jacob
Thornton
@gros
3
Larry
l'oiseau
@Twitter
<tableclass="table caption-top"><caption>List of users</caption><thead><tr><thscope="col">#</th><thscope="col">First</th><thscope="col">Last</th><thscope="col">Handle</th></tr></thead><tbody><tr><thscope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><thscope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><thscope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table>
Tableaux réactifs
Les tableaux réactifs permettent de faire défiler facilement les tableaux horizontalement. Rendez n'importe quelle table réactive dans toutes les fenêtres en enveloppant a .tableavec .table-responsive. Ou, choisissez un point d'arrêt maximum avec lequel avoir une table réactive jusqu'à en utilisant .table-responsive{-sm|-md|-lg|-xl|-xxl}.
Détourage vertical/troncature
Les tableaux réactifs utilisent overflow-y: hidden, qui coupe tout contenu qui dépasse les bords inférieur ou supérieur du tableau. En particulier, cela peut couper les menus déroulants et autres widgets tiers.
Toujours réactif
À travers chaque point d'arrêt, à utiliser .table-responsivepour les tableaux à défilement horizontal.
Utilisez .table-responsive{-sm|-md|-lg|-xl|-xxl}au besoin pour créer des tableaux réactifs jusqu'à un point d'arrêt particulier. À partir de ce point d'arrêt, la table se comportera normalement et ne défilera pas horizontalement.
Ces tableaux peuvent apparaître brisés jusqu'à ce que leurs styles réactifs s'appliquent à des largeurs de fenêtre spécifiques.
Les variables factorielles ( $table-striped-bg-factor, $table-active-bg-factor& $table-hover-bg-factor) sont utilisées pour déterminer le contraste dans les variantes de tableau.
Outre les variantes de table claires et sombres, les couleurs du thème sont éclaircies par la $table-bg-levelvariable.