J'essaie de développer une grille de Bootstrap 4 cartes avec les exigences suivantes:
class="row"
, car je ne sais pas combien de cartes il y aura au total et je veux que les lignes soient correctes aux différents points d'arrêt de l'écran.col-sm-6 col-lg-4
).J'ai réussi à faire presque tout le chemin, mais je rencontre un problème: définir class="h-100"
sur mes cartes pour m'assurer qu'elles sont toutes de la même hauteur tue la marge du bas de chaque carte.
Existe-t-il un moyen de garantir que toutes les cartes d'une ligne affichée donnée ont la même hauteur, tout en conservant une marge au bas de celles-ci?
Code HTML:
<div class="container">
<div class="row">
<div class="col-md-4 col-sm-6">
<div class="card h-100 mb-4" style="background-color:#ff0000;">
Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6">
<div class="card h-100 mb-4" style="background-color:#00ff00;">
Test card content. Test card content. Test card content. Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6">
<div class="card h-100 mb-4" style="background-color:#0000ff;">
Test card content. Test card content. Test card content. Test card content. Test card content. Test card content. Test card content. Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6">
<div class="card h-100 mb-4" style="background-color:#0f0f0f;">
Test card content.
</div>
</div>
</div>
</div>
Après un peu d'expérimentation, celle-ci était facile à résoudre: j'avais besoin d'ajouter la classe mb-4 à la contenant colonne, pas la carte elle-même:
<div class="container">
<div class="row">
<div class="col-md-4 col-sm-6 mb-4">
<div class="card h-100" style="background-color:#ff0000;">
Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6 mb-4">
<div class="card h-100" style="background-color:#00ff00;">
Test card content. Test card content. Test card content. Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6 mb-4">
<div class="card h-100" style="background-color:#0000ff;">
Test card content. Test card content. Test card content. Test card content. Test card content. Test card content. Test card content. Test card content.
</div>
</div>
<div class="col-md-4 col-sm-6 mb-4">
<div class="card h-100" style="background-color:#0f0f0f;">
Test card content.
</div>
</div>
</div>
</div>
J'espère que cela aide les autres qui sont coincés dans ma même situation.