[CSS]Changer une liste display:flex en display:grid.
J’utilise souvent display:flex quand je fais une liste d’articles ou de produits avec css, mais je dois quand même utiliser display:grid ? Je vais donc essayer.
Personnellement, je suis habitué à display:flex, donc je ne suis pas très doué pour display:grid.
Si c’est une simple liste, il n’y a pas de problème, mais ça a l’air de pouvoir gérer des mises en page assez complexes, et au contraire, ça me fait me demander à chaque fois « Qu’est-ce que c’est que ça ? Comment je fais pour l’assembler ? » Je suis court-circuité dans ma tête (…) ;
Bon, je vais essayer display:flex comme d’habitude.
<div class="list01"> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> </div> <style> .list01 { width: 900px; background: #ddd; display: flex; flex-wrap: wrap; justify-content: space-between; } .list01 .item { margin-bottom: 25px; width: 32%; height: 100px; color: #fff; background: #000; display: flex; justify-content: center; align-items: center; position: relative; } </style>
Voici à quoi cela ressemble lorsqu’il est affiché dans un navigateur.
Modifions maintenant la partie css de ce code pour afficher : grid.
<div class="list01"> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> <div class="item">item</div> </div> <style> .list01 { width: 900px; background: #ddd; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2%; } .list01 .item { margin-bottom: 25px; height: 100px; color: #fff; background: #000; display: flex; justify-content: center; align-items: center; position: relative; } </style>
Voici à quoi cela ressemble lorsqu’il est affiché dans un navigateur.
Ce que je n’aime pas dans GIRD, c’est que je n’aime pas les grid-template-columns (. ;
Je spécifie repeat(3, 1fr), donc c’est comme 3 colonnes avec une largeur de 1fr. La largeur des colonnes devrait être…