--- title: flex-grow slug: Web/CSS/flex-grow tags: - CSS - Propriété - Reference translation_of: Web/CSS/flex-grow ---
La propriété CSS flex-grow
définit le facteur d'expansion d'un élément flexible selon sa dimension principale. Elle indique la quantité d'espace restant que l'élément devrait consommer dans un conteneur flexible relativement à la taille des autres éléments du même conteneur.
La dimension principale correspond à la hauteur ou à la largeur de l'élément selon la valeur de {{cssxref("flex-direction")}}.
L'espace restant qui est réparti correspond à la taille du conteneur flexible moins la somme des tailles des éléments flexibles. Si tous les éléments voisins possèdent le même facteur d'expansion, ils recevront tous la même part d'espace.
La plupart du temps flex-grow
est utilisé avec les autres propriétés flexibles {{cssxref("flex-shrink")}} et {{cssxref("flex-basis")}}. On pourra utiliser la propriété raccourcie {{cssxref("flex")}} afin de s'assurer que toutes les valeurs des propriétés flexibles auront été définies.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Pour plus d'informations, voir la page Utiliser les boîtes flexibles (flexbox) CSS.
flex-grow: 2; flex-grow: 0.6; /* Valeurs globales */ flex-shrink: inherit; flex-shrink: initial; flex-shrink: unset;
La propriété flex-grow
se définit avec une valeur de type <number>
.
<number>
<h4>A,B,C et F ont flex-shrink:1 . D et E ont flex-grow:1 .</h4> <div id="content"> <div class="box" style="background-color:red;">A</div> <div class="box" style="background-color:lightblue;">B</div> <div class="box" style="background-color:yellow;">C</div> <div class="box1" style="background-color:brown;">D</div> <div class="box1" style="background-color:lightgreen;">E</div> <div class="box" style="background-color:brown;">F</div> </div>
#content { display: flex; justify-content: space-around; flex-flow: row wrap; align-items: stretch; } .box { flex-shrink: 1; border: 3px solid rgba(0,0,0,.2); } .box1 { flex-grow: 1; border: 3px solid rgba(0,0,0,.2); }
{{EmbedLiveSample('Exemples', '700px', '300px')}}
Spécification | État | Commentaires |
---|---|---|
{{SpecName('CSS3 Flexbox','#flex-grow-property','flex-grow')}} | {{Spec2('CSS3 Flexbox')}} | Définition initiale. |
{{cssinfo}}
{{Compat("css.properties.flex-grow")}}
flex-grow
est étrange ? un article (en anglais) écrit par Manuel Matuzovic sur CSS-Tricks et qui illustre le fonctionnement de flex-grow