Retour • 29/01/2025
3 Hacks Flexbox CSS que tu dois absolument connaître
Écris par Melvyn Malherbe le 29/01/2025
Retour • 29/01/2025
Écris par Melvyn Malherbe le 29/01/2025
Tu galères avec certains layouts en CSS ? Tu as l'impression que tes éléments ne se comportent pas comme tu le voudrais ? Dans cet article, je vais te montrer 3 hacks Flexbox super utiles que j'utilise tous les jours.
C'est probablement le hack que j'utilise le plus souvent. Il permet de pousser un élément tout à droite d'un conteneur flex, peu importe la taille des autres éléments.
Le principe est simple : on met un élément invisible avec flex: 1 entre l'élément de gauche et celui qu'on veut pousser à droite.
.navbar {
display: flex;
gap: 1rem;
}
.spacer {
flex: 1;
}C'est tout ! Le flex: 1 va faire en sorte que l'élément "spacer" prenne tout l'espace disponible, poussant ainsi le bouton à droite.
flex: 1 est un shorthand pour :
flex-grow: 1flex-shrink: 1flex-basis: 0flex-basis: 0, l'élément n'a pas de taille initialeflex-grow: 1, il prend tout l'espace disponibleUn problème courant avec flexbox : un élément qui se fait écraser quand il n'y a plus assez de place. La solution ? flex-shrink: 0 !
/* Avant : la sidebar se fait écraser */
.sidebar {
width: 200px;
}
/* Après : la sidebar garde sa taille */
.sidebar {
width: 200px;
flex-shrink: 0;
}flex-shrink: 1 permet aux éléments de rétrécirflex-shrink: 0 est parfait pour :
Le centrage vertical a longtemps été un cauchemar en CSS. Avec flexbox, c'est devenu super simple !
.container {
display: flex;
align-items: center; /* Centrage vertical */
justify-content: center; /* Centrage horizontal */
}On peut combiner ces hacks pour créer des layouts plus complexes. Par exemple, une navbar avec un logo centré et un bouton à droite :
Dans cet exemple, on utilise :
flex: 1 pour centrer le logoflex-shrink: 0 sur le logo et le boutonalign-items: center pour l'alignement verticalCes hacks sont super utiles, mais ce ne sont que quelques exemples de ce que tu peux faire avec flexbox. Pour approfondir :
Tu peux aussi t'inscrire à mon cours gratuit sur Tailwind et CSS :
Récupère ton accès gratuit à 22 leçons interactives avec des exercices, des quiz et bien plus.