W3docs

Proprietà CSS flex-flow

La proprietà CSS flex-flow è una shorthand per flex-wrap e flex-direction. Scopri questa proprietà e prova degli esempi.

La proprietà CSS flex-flow è una shorthand che imposta contemporaneamente due proprietà del flex container: flex-direction (l'asse lungo cui vengono disposti gli elementi) e flex-wrap (se gli elementi rimangono su una sola riga o vanno a capo su più righe). Invece di scrivere entrambe le dichiarazioni, le si combina in una singola riga, rendendo il CSS più conciso e l'intenzione più chiara.

Questa proprietà appartiene alle proprietà CSS3 e fa parte del modulo Flexible Box Layout. Ha effetto solo su un elemento il cui display è impostato su flex o inline-flex; su un elemento non-flex non ha alcun effetto, e se un flex container non contiene elementi flessibili non c'è nulla da disporre.

Questa pagina illustra la sintassi di flex-flow, cosa controlla ciascun valore e degli esempi eseguibili per ogni comune combinazione di direzione e wrapping.

Cosa controlla ciascun valore

flex-flow accetta un valore flex-direction e un valore flex-wrap, in qualsiasi ordine:

  • flex-direction — l'asse principale e l'ordine che gli elementi seguono lungo di esso:
    • row (predefinito) — da sinistra a destra.
    • row-reverse — da destra a sinistra.
    • column — dall'alto verso il basso.
    • column-reverse — dal basso verso l'alto.
  • flex-wrap — cosa succede quando gli elementi non rientrano in una sola riga:
    • nowrap (predefinito) — tutti gli elementi si comprimono su una singola riga e possono restringersi.
    • wrap — gli elementi vanno a capo su nuove righe nella stessa direzione.
    • wrap-reverse — gli elementi vanno a capo su nuove righe nella direzione opposta dell'asse trasversale.

Poiché il valore iniziale è row nowrap, un flex container senza flex-flow impostato dispone i suoi elementi in una singola riga orizzontale.

I browser moderni supportano la proprietà flex-flow nativamente senza prefissi vendor.

Valore inizialerow nowrap
Si applica aFlex container
EreditatoNo.
AnimabileNo.
VersioneCSS3
Sintassi DOMobject.style.flexFlow = "column nowrap";

Sintassi

Sintassi della proprietà CSS flex-flow

flex-flow: <flex-direction> || <flex-wrap>;
/* or */ initial | inherit;

Quando impostiamo flex-flow: row wrap;, il primo valore definisce flex-direction e il secondo definisce la proprietà flex-wrap. I due valori sono indipendenti dall'ordine perché accettano parole chiave diverse, quindi flex-flow: wrap row; è ugualmente valido. Si può anche indicare uno solo di essi — ad esempio flex-flow: column; lascia flex-wrap al suo valore predefinito nowrap.

Esempio della proprietà CSS flex-flow

flex-flow: row wrap;

Il codice seguente è equivalente al codice precedente.

Esempio delle proprietà flex-direction e flex-wrap

flex-direction: row;
flex-wrap: wrap;

Esempio della proprietà flex-flow con i valori "row" e "wrap":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: row wrap;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Esempio della proprietà flex-flow con i valori "wrap-reverse" e "column":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: column wrap-reverse;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Esempio della proprietà flex-flow con i valori "row" e "nowrap":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: row nowrap;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Risultato

Con flex-flow: row nowrap, tutti e sei gli elementi rimangono su una singola riga orizzontale e si restringono per adattarsi al container invece di andare a capo:

Elementi flex disposti in una singola riga con il valore flex-flow row nowrap

Esempio della proprietà flex-flow con i valori "row-reverse" e "nowrap":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: row-reverse nowrap;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Esempio della proprietà flex-flow con i valori "column" e "nowrap":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: column nowrap;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Esempio della proprietà flex-flow con i valori "column-reverse" e "nowrap":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-flow: column-reverse nowrap;
      }
      .example div {
        width: 50px;
        height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Flex-flow property example</h2>
    <div class="example">
      <div style="background-color: #8ebf42;">A</div>
      <div style="background-color: #1c87c9;">B</div>
      <div style="background-color: #cccccc;">C</div>
      <div style="background-color: #666666;">D</div>
      <div style="background-color: #4c4a4a;">E</div>
      <div style="background-color: #c6c4c4;">F</div>
    </div>
  </body>
</html>

Valori

ValoreDescrizioneProvalo
flex-directionDefinisce la direzione degli elementi flessibili. I valori possibili sono: row row-reverse column column-reverse initial inheritProvalo »
flex-wrapDefinisce se gli elementi flessibili devono andare a capo o meno. I valori possibili sono: nowrap wrap wrap-reverse initial inheritProvalo »
initialImposta la proprietà al suo valore predefinito.Provalo »
inheritEredita la proprietà dall'elemento genitore.

Quando usare flex-flow

Utilizza flex-flow ogni volta che devi impostare sia la direzione che il comportamento di wrapping di un flex container. Un pattern comune è una barra di elementi responsive che deve stare in una riga su schermi larghi ma andare a capo su più righe su schermi stretti — flex-flow: row wrap; gestisce questo in una sola dichiarazione. Se devi modificare solo una delle due sotto-proprietà, usare la forma estesa flex-direction o flex-wrap direttamente può rendere l'intento più esplicito. Per un quadro completo di come queste proprietà si integrano, consulta la guida completa a Flexbox.

Esercitazione

Pratica
Cosa è corretto riguardo alla proprietà 'flex-flow' in CSS?
Cosa è corretto riguardo alla proprietà 'flex-flow' in CSS?
Was this page helpful?