Alignement
Définition : Axe principal du flux
justify-content permet de modifier l'alignement des éléments par rapport à l'axe principal.
<div class="flex">
<div>
Contenu 1
</div>
<div>
Contenu 2
</div>
<div>
Contenu 3
</div>
</div>
div.flex {
display: flex;
justify-content: center; // groupés au centre
}
div.flex {
display: flex;
justify-content: flex-end; // groupés à la fin (flex-start : au
debut)
}
div.flex {
display: flex;
justify-content: space-between; // répartis, touches les bords
}
div.flex {
display: flex;
justify-content: space-around; // répartis, moitié d'espace sur
les bords
}
div.flex {
display: flex;
justify-content: space-evenly; // répartis, tous les espaces
égaux
}
Définition : Passage à la ligne
flex-wrap permet d'indiquer si les éléments passent à la ligne quand il n'y a plus de place.
<div class="flex">
<div>
Contenu 1
</div>
<div>
Contenu 2
</div>
<div>
Contenu 3
</div>
</div>
div.flex {
display: flex;
width: 400px;
height: 150px;
}
.flex div{
min-width: 150px;
}
div.flex {
display: flex;
width: 400px;
height: 150px;
flex-wrap: wrap;
}
.flex div{
min-width: 150px;
}
Définition : Ligne ou colonne sur l'axe secondaire
align-content permet de modifier l'alignement des lignes (ou colonnes) sur l'axe secondaire.
à condition d'avoir plus d'une ligne (ou colonne) de contenu.
<div class="flex">
<div>
Contenu 1
</div>
<div>
Contenu 2
</div>
<div>
Contenu 3
</div>
</div>
div.flex {
display: flex;
width: 400px;
height: 150px;
flex-wrap: wrap;
align-content: center;
}
.flex div{
min-width: 150px;
}
Autres possibilités : flex-start, flex-end, space-between, space-around, space-evenly...
voir justify-content
Définition : Éléments sur l'axe secondaire
align-items permet de modifier l'alignement des éléments dans une ligne (ou colonne) sur l'axe secondaire.
<div class="flex">
<div>
Contenu 1
</div>
<div>
Contenu 2
</div>
<div>
Contenu 3
</div>
<div>
Contenu 4
</div>
<div>
Contenu 5
</div>
<div>
Contenu 6
</div>
</div>
div.flex {
display: flex;
width: 400px;
height: 150px;
flex-wrap: wrap;
align-items: center;
}
Autres possibilités : flex-start, flex-end
align-self : permet de modifier un élément particulier dans la ligne (ou colonne)
div.flex {
display: flex;
width: 400px;
height: 150px;
flex-wrap: wrap;
align-items: center;
}
div.flex > div:first-child {
align-self: flex-start;
}
Autres possibilités : center, flex-end
Définition : Cas particulier d'une seule ligne (ou colonne)
Pour gérer l'alignement d'une ligne (ou colonne), il faut utiliser justify-content et align-items
<div class="flex">
<div>
Contenu 1
</div>
<div>
Contenu 2
</div>
<div>
Contenu 3
</div>
</div>
div.flex {
display: flex;
width: 400px;
height: 150px;
justify-content: center;
align-items: center;
}
.flex div{
min-width: 150px;
}
.flex div{
...
justify-content: flex-start; // en haut
align-items: flex-end; // à droite
}
.flex div{
...
justify-content: flex-end; // en bas
align-items: flex-start; // à gauche
}
...