flex-shrink
Détermine à quel point un élément rétrécit quand la place manque dans le conteneur.
- Valeur initiale
1- Héritée
- Non
- Animable
- oui, en tant que nombre
- S’applique à
- éléments flex
- JavaScript
element.style.flexShrink = "0"
Exemple
#.user {
display: flex;
align-items: center;
gap: 10px;
}
.user .avatar {
flex-shrink: 0;
}<div class="user stage" style="width: 260px;">
<span class="avatar box" style="width: 44px; height: 44px; border-radius: 99px; padding: 0;">LD</span>
<span>Léa Dupont, experte en Flexbox et autrice de trois projets de validation</span>
</div>Définition et utilisation
#La propriété flex-shrink fonctionne à l’inverse de flex-grow. Quand les éléments sont ensemble plus larges que le conteneur, chacun cède une part de sa largeur proportionnellement à ce nombre. Par défaut, tous ont 1, donc ils rétrécissent de façon égale.
La valeur 0 protège l’élément contre le rétrécissement. C’est utile pour les icônes, les avatars, les boutons et les étiquettes, qui doivent garder leur taille pendant que le texte à côté se resserre.
Les éléments ne rétrécissent pas en dessous de la largeur minimale de leur contenu (le mot le plus long). Pour aller plus loin, réglez min-width: 0.
Syntaxe
#flex-shrink: <nombre>;Valeurs
#Valeurs en pratique
#1
.target { flex-shrink: 1; }0
.target { flex-shrink: 0; }3
.target { flex-shrink: 3; }Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Les icônes et les avatars à côté d’un texte devraient presque toujours avoir
flex-shrink: 0, sinon ils s’écrasent en ovale. - Si un texte long dans un élément flex ne veut ni passer à la ligne ni se tronquer, ajoutez-lui
min-width: 0.
Entrées associées
#- flex-growDétermine avec quelle avidité un élément grandit pour remplir l’espace libre.
- flex-basisFixe la taille de départ d’un élément flex sur l’axe principal, avant qu’il ne commence à grandir ou à rétrécir.
- flexRaccourci qui règle flex-grow, flex-shrink et flex-basis d’un élément.
- min-widthDéfinit une largeur minimale, en dessous de laquelle l’élément ne se réduit pas.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.