flex |
Flexible |
---|---|
CSS3 |
Syntaxe
flex: flex-grow flex-shrink flex-basis|auto|inherit|initial|none; |
Paramètres
Paramètre | Description | |
---|---|---|
flex-grow | Ce paramètre permet d'indiquer combien d'éléments doivent croître par rapport au reste des éléments flexibles à l'intérieur du même conteneur : | |
Valeur | Description | |
nombre | Cet attribut permet d'indiquer de combien l'élément doit croître par rapport au reste des éléments flexibles. La valeur par défaut est 0. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
flex-shrink | Ce paramètre permet d'indiquer comment l'item doit être relativement rétrécie dans le reste des items flexible à l'intérieur du même conteneur : | |
Valeur | Description | |
nombre | Cet attribut permet d'indiquer de combien le nombre d'items doit diminuer par rapport au reste des éléments flexibles. La valeur par défaut est 1. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
flex-basis | Ce paramètre permet d'indiquer la longueur initiale d'un item flexible : | |
Valeur | Description | |
nombre | Cet attribut permet d'indiquer la longueur initiale, en unité ou pourcentage des items flexibles. | |
auto | Cet attribut permet d'indiquer que la longueur doit être à l'item flexible. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
auto | Ce paramètre permet d'indiquer que la longueur doit être flexible mais qu'il ne doit pas étiré ou rétrécie. C'est la valeur par défaut. | |
inherit | Ce paramètre permet d'indiquer qu'il hérite des propriétés de la balise parente. | |
initial | Ce paramètre permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
none | Ce paramètre permet d'indiquer que la longueur ne doit pas être flexible. |
Description
Cette propriété permet d'indiquer la longueur d'un item, s'il doit être relativement rétrécie dans le reste de l'item et combien doivent croire dans le même conteneur.
Remarques
- Propriété raccourcie pour la flexibilité des éléments : La propriété flex est une propriété raccourcie combinant trois sous-propriétés : flex-grow, flex-shrink, et flex-basis. Par exemple, flex: 1 0 50%; signifie que l'élément peut croître pour occuper l'espace disponible, ne rétrécira pas, et sa taille de base est de 50%. Cela simplifie la gestion des éléments flexibles dans un conteneur.
- Valeurs par défaut pratiques : Lorsque vous utilisez simplement flex: auto;, cela équivaut à flex: 1 1 auto;, ce qui signifie que l'élément peut croître, se réduire, et utilise sa taille naturelle comme base. Cela convient à de nombreux cas où vous voulez que les éléments s'adaptent naturellement à l'espace disponible.
- Croissance proportionnelle des éléments : La première valeur (flex-grow) spécifie la capacité d'un élément à croître par rapport aux autres éléments du conteneur. Par exemple, si un élément a flex: 2 et un autre a flex: 1, le premier occupera deux fois plus d'espace supplémentaire que le second.
- Contrôle du rétrécissement : La deuxième valeur (flex-shrink) détermine si un élément peut rétrécir lorsque l'espace est limité. Par défaut, les éléments rétrécissent également, mais en fixant flex-shrink: 0, vous empêchez un élément de réduire sa taille, même si cela crée un débordement.
- Taille de base avec flex-basis : La troisième valeur (flex-basis) définit la taille initiale de l'élément avant l'application de la flexibilité. Elle peut être définie en pixels, en pourcentages ou avec la valeur auto, utilisant la taille naturelle de l'élément. Par exemple, flex: 0 1 200px; fixe une taille de base de 200 pixels avant d'appliquer les calculs de flexibilité.
- Valeur abrégée simplifiée : Lorsque flex est utilisé avec une seule valeur numérique, comme flex: 2;, cela signifie que flex-grow est défini sur cette valeur, tandis que flex-shrink est à 1 et flex-basis est à 0%. C'est une manière rapide de prioriser la croissance d'un élément sans spécifier tous les paramètres.
- Effet sur la mise en page responsive : La propriété flex est essentielle pour les mises en page responsives. En combinant des valeurs dynamiques, vous pouvez créer des interfaces où les éléments s'ajustent automatiquement à l'espace disponible, ce qui élimine le besoin de définir des largeurs fixes pour chaque élément.
- Interactions avec les autres propriétés flexbox : Bien que flex définisse la flexibilité d'un élément, elle fonctionne toujours en conjonction avec d'autres propriétés du conteneur flex, comme justify-content et align-items. Une mauvaise configuration de ces propriétés peut rendre les résultats imprévisibles ou incohérents, malgré un réglage correct de flex.
Dernière mise à jour : Dimanche, le 20 décembre 2015