Remi Forax
Différents modèles de placement (layout)
“CSS Flexible Box Layout, commonly known as Flexbox, is a CSS 3 web layout model. The flex layout allows responsive elements within a container to be automatically arranged depending upon screen size (or device).”
source: Wikipedia.org - Flexbox
“CSS Flexible Box Layout, ou communément FlexBox, est un modèle de layout CSS 3 pour le web. Ce layout flexible permet d'arranger automatiquement les éléments à l'intérieur d'un conteneur de façon responsive en fonction de la taille de l'écran (ou de l'appareil).”
sources : Wikipedia.org - Flexbox
CC3 Flexbox | 2009-2012 |
Support dans Firefox, Chrome, Safari | 2014, 2015 |
Flexbox 1.0 | 2016+ |
W3c FlexBox | 2018 |
Modèle d'affichage display: flex
<div class="container"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div>
En fait, alignement sur l'axe opposé à flex-direction
Si il n'y a pas assez de place sur une ligne ...
La propriété flex-flow permet de définir flex-direction et flex-wrap en une seule propriété
gap indique un espacement minimal entre les boites
Un élément peut indiquer qu'il a un alignement spécifique align-self au lieu d'utiliser align-items du conteneur
flex-basis définie la taille
flex-grow indique qu'un élement participe à l'agrandissement
0= pas d'agrandissement, 1= agrandissement
si plusieurs flex-grows, alors l'agrandissement est proportionnel aux valeurs
flex-shrink indique le facteur de rétrécissement
proportionnel comme flex-grow mais avec 1 comme valeur par défaut
flex indique les différents facteurs en une seule propriété flex: flex-grow flex-shrink flex-basis
Flexbox permet d'avoir un layout adaptatif, mais on a que le choix entre wrap/nowrap, sinon il faut utiliser les media-query
“CSS grid layout or CSS grid creates complex responsive web design grid layouts more easily and consistently across browsers.”
source: Wikipedia.org - Grid layout
“CSS grid Layout ou CSS grid crée des grilles de placement complexe et responsive plus simplement et de la même façon quel que soit le navigateur.”
sources : Wikipedia.org - Grid layout
Création | 2011 |
Support dans Firefox, Chrome, Safari | 2017 |
W3c CSS Grid | 2020 |
Modèle d'affichage display: grid
<div class="container"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div>
Indique les tailles de chaque colonne et de chaque ligne
La macro repeat(times, value) permet d'appliquer la même valeur à toute les colonnes (resp. lignes) d'une grille
Alignement le long de l'axe des colonnes
gap définie l'espacement entre les colonnes ou les lignes
marche comme avec flexbox