[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…


Articles pertinents.