Propriété flex-wrap

La propriété flex-wrap définit la disposition multiligne des blocs le long de l'axe principal. Elle s'applique à l'élément parent des blocs flex. Elle fait partie de la propriété raccourcie flex-flow.

Syntaxe

csssélecteur {
  flex-wrap: nowrap | wrap | wrap-reverse;
}

Valeurs

Valeur Description
nowrap Mode monoligne - les blocs s'alignent sur une seule ligne.
wrap Les blocs s'alignent sur plusieurs lignes s'ils ne tiennent pas sur une seule.
wrap-reverse Identique à wrap, mais les blocs s'alignent dans l'ordre inverse (le dernier en premier, puis le premier).

Valeur par défaut : nowrap.

Exemple . Valeur wrap

Maintenant, les blocs ne tiennent pas dans leur conteneur et s'aligneront sur plusieurs lignes :

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  border: 1px solid #696989;
  height: 200px;
  width: 330px;
  margin: auto;
}
#parent > div {
  width: 100px;
  height: 50px;
  border: 1px solid #696989;
}

Результат:

Exemple . Valeur wrap-reverse

Et maintenant, l'ordre de succession change à l'inverse (regardez les chiffres à l'intérieur des blocs) :

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: flex;
  flex-wrap: wrap-reverse;
  flex-direction: row;
  justify-content: space-between;
  border: 1px solid #696989;
  height: 200px;
  width: 330px;
  margin: auto;
}
#parent > div {
  width: 100px;
  height: 50px;
  border: 1px solid #696989;
}

Результат:

Exemple . Valeur nowrap

Maintenant, les blocs seront disposés en mode monoligne (comme par défaut). Dans ce cas, la valeur de largeur width pour les blocs sera ignorée, si elle empêche les blocs de tenir dans le parent. Veuillez noter que les blocs tiennent dans le parent, mais leur largeur réelle n'est pas de 100px, comme défini, mais moins :

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  border: 1px solid #696989;
  height: 200px;
  width: 330px;
  margin: auto;
}
#parent > div {
  width: 100px;
  height: 50px;
  border: 1px solid #696989;
}

Результат:

Exemple . Valeur nowrap

Cependant, si les blocs tiennent avec la largeur qui leur est attribuée - alors la propriété width ne sera pas ignorée. Réduisons le nombre de blocs afin qu'ils tiennent tous :

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>
css#parent {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  border: 1px solid #696989;
  height: 200px;
  width: 330px;
  margin: auto;
}
#parent > div {
  width: 100px;
  height: 50px;
  border: 1px solid #696989;
}

Результат:

Voir aussi

  • la propriété flex-direction,
    qui définit la direction des axes des blocs flex
  • la propriété justify-content,
    qui définit l'alignement le long de l'axe principal
  • la propriété align-items,
    qui définit l'alignement le long de l'axe transversal
  • la propriété flex-flow,
    raccourci pour flex-direction et flex-wrap
  • la propriété order,
    qui définit l'ordre des blocs flex
  • la propriété align-self,
    qui définit l'alignement d'un seul bloc
  • la propriété flex-basis,
    qui définit la taille d'un bloc flex spécifique
  • la propriété flex-grow,
    qui définit l'expansion des blocs flex
  • la propriété flex-shrink,
    qui définit la réductibilité des blocs flex
  • la propriété flex,
    raccourci pour flex-grow, flex-shrink et flex-basis