Grille masonry avec flexbox, problème sur safari

19 octobre 2022 2 min de lecture

L’objectif :

Ce code fonctionne pour Chrome, Firefox et Edge :

.single__portfolio__photos{
      display: flex;
      flex-wrap: wrap;
      padding: 0 1rem 1rem;
      column-gap: 1rem;
      row-gap: 1rem;
      width: calc(100% - 2rem);
      .single__portfolio__photos__brick{
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: auto;
        height: 250px;
        min-width: 150px;
      }
}

Mais pas sur Safari, voici le résultat :

Après plusieurs recherche :

Flexbox est une technologie CSS3. Cela signifie qu’il est relativement nouveau et que certains navigateurs ne prennent pas entièrement en charge les propriétés flexibles.

Voici un aperçu :

Source : https://stackoverflow.com/questions/35137085/flexbox-code-working-on-all-browsers-except-safari-why

Le code final :

.single__portfolio__photos{
      display: flex;
      flex-wrap: wrap;
      padding: 0 1rem 1rem;
      column-gap: 1rem;
      row-gap: 1rem;
      width: calc(100% - 2rem);
      .single__portfolio__photos__brick{
        flex: 1 1 24rem;
        height: 250px;
      }
}