Twitter Bootstrap offre des classes à rangées de tables de couleurs comme ceci:
<tr class="success">
J'aime le choix des couleurs et le nom de la classe. Maintenant, ce que je voudrais faire est de réutiliser ces classes et de les appliquer également aux cellules de tableau. Évidemment, je pourrais définir mes propres classes avec les mêmes couleurs et en finir.
Mais existe-t-il un raccourci en CSS? MOINS, de laisser le td
hériter des classes?
Vous pouvez remplacer les règles css par défaut avec ceci:
.table tbody tr > td.success {
background-color: #dff0d8 !important;
}
.table tbody tr > td.error {
background-color: #f2dede !important;
}
.table tbody tr > td.warning {
background-color: #fcf8e3 !important;
}
.table tbody tr > td.info {
background-color: #d9edf7 !important;
}
.table-hover tbody tr:hover > td.success {
background-color: #d0e9c6 !important;
}
.table-hover tbody tr:hover > td.error {
background-color: #ebcccc !important;
}
.table-hover tbody tr:hover > td.warning {
background-color: #faf2cc !important;
}
.table-hover tbody tr:hover > td.info {
background-color: #c4e3f3 !important;
}
!important
Est nécessaire, car bootstrap colore les cellules individuellement (il est parfois impossible d'appliquer une couleur de fond à un tr). Je ne pouvais pas trouver de variables de couleur dans ma version de bootstrap mais c'est quand même l'idée de base.
En bout de ligne, vous devrez écrire une nouvelle règle CSS pour cela.
Selon le paquet de Twitter Bootstrap que vous utilisez, vous devriez avoir des variables pour les différentes couleurs.
Essayez quelque chose comme:
.table tbody tr > td {
&.success { background-color: $green; }
&.info { background-color: $blue; }
...
}
Il existe sûrement un moyen d’utiliser extend
ou l’équivalent LESS pour éviter de répéter le même style.
Avec la version actuelle de Bootstrap (3.3.7), il est possible de colorer une seule cellule d'un tableau de la manière suivante:
<td class = 'text-center col-md-4 success'>
Mise à jour du code HTML pour le nouveau bootstrap
.table-hover > tbody > tr.danger:hover > td {
background-color: red !important;
}
.table-hover > tbody > tr.warning:hover > td {
background-color: yellow !important;
}
.table-hover > tbody > tr.success:hover > td {
background-color: blue !important;
}
Avec moins, vous pouvez le configurer comme ceci;
.table tbody tr {
&.error > td { background-color: red !important; }
&.error:hover > td { background-color: yellow !important; }
&.success > td { background-color: green !important; }
&.success:hover > td { background-color: yellow !important; }
...
}
Cela a fait le tour pour moi.