Layout (Mise en page)
Problématique
- Distribuer le contenu dans la page.
- S’adapter à des modes d’affichage différents (écran, mobile, impression, …).
- Permettre un certain degré de non-linéarité.
Modèles de layout (voir les approfondissements)
-
Box model (le plus ancien),
-
Positionnement absolu (le petit frère du box model),
-
Flexbox (le nouvel arrivant),
-
Grille (encore dans les cartons…)
Flexbox
Limitations du box model
- Centrer verticalement.
- Layout en colonnes (traditionnellement simulé avec
float,display,position, dimensions fixes, etc., voire même avec<table>). - Adaptation à la taille de l’écran.
- Non-linéarité.
Flexbox
- Un modèle de boîtes agnostique par rapport à la direction.
- Basé sur un conteneur et ses éléments.
- Algorithmes de calcul de taille et espacement.
- Non-linéaire
Les propriétés CSS de flexbox
Propriétés principales du conteneur
display: flexdéclare un conteneur flexible.flex-flow: row nowrapdéclare la direction et le mode de retour à la ligne.
Propriétés principales des éléments
flex: 0 1 autodéclare l’élasticité d’un élément.order: 1permet de réaliser un affichage non-linéaire.
Autres propriétés
-
Conteneur :
flex-direction,flex-wrap,justify-content,align-items,align-content. -
Éléments :
flex-grow,flex-shrink,flex-basis,align-self.