Vai al contenuto

CSS – Display: Flex

Tag:

L’utilizzo del metodo DISPLAY: FLEX in CSS3 ti permetterà di posizionare gli elementi in modo più flessibile rispetto al metodo FLOAT.

Impostiamo prima di tutto il metodo.

display: flex;

Allineamento orizzontale: justify-content

Per allineare orizzontalmente gli elementi hanno varie possibilità:

  • flex-start: Allinea gli elementi alla sinistra del contenitore.
  • flex-end: Allinea gli elementi alla destra del contenitore.
  • center: Allinea gli elementi al centro del contenitore.
  • space-between: Separa gli elementi con uguale spazio tra di loro.
  • space-around: Separa gli elementi con uguale spazio attorno ad essi.
justify-content: space-around;

Allineamento verticale: align-items

Per posizionare gli elementi in verticale invece abbiamo:

  • flex-start: Allinea gli elementi all’inizio del loro contenitore.
  • flex-end: Allinea gli elementi alla fine del loro contenitore.
  • center: Centra gli elementi verticalmente.
  • baseline: Gli elementi vengono disposti in modo da allineare le loro linee di base.
  • stretch: Gli elementi sono allungati per occupare tutto il contenitore.
align-items: flex-end;

Ovviamente si possono unire le due proprietà per definire l’allineamento verticale ed orizzontale:

justify-content:center;
align-items:center

Definire la direzione: flex-direction

Questa proprietà definisce la direzione in cui gli elementi verranno posizionati nel contenitore e accetta i seguenti valori:

  • row: Gli elementi sono posizionati nella stessa direzione del testo.
  • row-reverse: Gli elementi sono posizionati nella direzione opposta al testo.
  • column: Gli elementi sono posizionati dall’alto verso il basso.
  • column-reverse: Gli elementi sono posizionati dal basso verso l’alto.
flex-direction: row-reverse; // gli elementi si posizioneranno in modo opposto rispetto al loro ordine su una riga

ATTENZIONE! Se si inverte la direzione si invertirà anche il posizionamento verticale / orizzontale

flex-direction:row-reverse;
justify-content:flex-end;
In questo caso gli oggetti si posizioneranno in alto.

Applicare un ordine: order

A volte invertire l’ordine di visualizzazione delle righe o delle colonne non è sufficiente. In questi casi possiamo applicare la proprietà order sui singoli elementi. Ogni elemento ha assegnato il valore 0 di default, ma è possibile utilizzare questa proprietà per assegnare un valore intero positivo o negativo.

order: 1; // l'oggetto verrà posto dopo tutti gli altri
order:-3; //l'oggetto sarà posto tre posizioni prima

Impostare un allineamento diverso per solo un oggetto: align-self

Si può impostare un allineamento diverso per dei singoli oggetti, ad esempio con align-self è possibile cambiare l’allineamento verticale.

#pond {
  display: flex;
  align-items: flex-start;
}

.yellow {
align-self:flex-end
}
La rana è posizionata in flex-end, diversamente dalle altre

Creare più linee orizzontali: flex-wrap

Può capitare che gli oggetti non stiano nella pagina, in questo caso impostiamo la funzione flex-wrap

  • nowrap: Ogni elemento viene sistemato nella stessa riga.
  • wrap: Gli elementi vengono sistemati su più righe se non c’è spazio per tutti su una sola riga.
  • wrap-reverse: Gli elementi vengono disposti su più righe in ordine inverso.

Unire più indicazioni: flex-flow

Le due proprietà flex-direction e flex-wrap sono usate così di frequente che è stata creata la proprietà flex-flow, che combina le due proprietà assieme. Questa proprietà accetta un valore per ognuna delle due proprietà separati da uno spazio.

flex-flow: column wrap
flex-flow: column wrap posiziona gli elementi su più colonne

Tutti gli elementi del metodo diplay:flex sono visualizzabili attraverso degli esercizi al sito: http://flexboxfroggy.com/#it

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *