Analizziamo in dettaglio queste proprietà.
Questa proprietà dei CSS serve ad impostare il contenitore padre in maniera flessibile.
Quindi tutti gli elementi che sono figli di un contenitore che possiedono la seguente proprietà potranno assumere determinati comportamenti dettati dall'elemento padre.
Se impostiamo questa proprietà possiamo applicare anche le seguenti proprietà sotto elencate.
Da zero ad eroe
Entra nel mondo della programmazione web: variabili, funzioni, array, DOM, eventi. Con esercizi pratici e progetti coinvolgenti.
- ⏱️ 8 ore di corso registrato
- 🧩 Più di 50 algoritmi risolti passo passo
- 🎯 Livello base — da zero ad eroe
- 💻 100% online, fruibile quando vuoi
Flex direction
Questa proprietà, che chiaramente funziona se l'elemento è flessibile, serve a specificare la direzione dell’asse principale (main-axis) dove si dispongono i box flessibili nel contenitore.
I valori possibili che si possono assegnare sono: row, row-reverse, column, column-reverse.
Quindi in definitiva gli elementi interni possono essere disposti orizzontalmente per righe (row) dove dunque il main-axis è l'asse orizzontale (l'asse x) oppure verticalmente per colonne (column) dove dunque il main-axis è l'asse verticale (l'asse y).
L’ordine può essere quello predefinito da sinistra verso destra oppure inverso (row-reverse e column-reverse).
Di seguito un semplicissimo esempio di utilizzo:
.flex-container {
display: flex;
flex-direction:column;
}
Al seguente link troverete una guida dettagliata di questa proprietà: https://www.codingcreativo.it/flex-direction/.
Flex wrap
Tramite questa proprietà, si specifica se i box all’interno del contenitore padre devono essere disposti su un’unica riga oppure su più righe, nel caso in cui il main-axis sia l'asse orizzontale.
Mentre nel caso in il main-axis sia l'asse verticale, si specifica se i box all'interno del contenitore possono essere disposti su più colonne.
I valori possibili sono: nowrap, wrap, wrap-reverse.
Sia per gli elementi disposti orizzontalmente, sia per gli elementi disposti verticalmente, il valore di default è nowrap. Ovvero gli elementi prendono tutto lo spazio necessario senza andare in una nuova riga o colonna.
Se specifichiamo invece il valore wrap, se il main-axis è l'asse orizzontale quando si raggiunge la fine della riga, automaticamente gli elementi successivi si posizionano sulla riga successiva. Allo stesso modo, se invece il main-axis è quello verticale quando si raggiunge la fine della colonna, automaticamente gli elementi successivi si posizionano sulla colonna successiva.
Se si utilizza wrap-reverse la disposizione degli elementi avviene in ordine inverso.
Ecco un semplice esempio d'utilizzo:
.flex-container {
display: flex;
flex-direction:column;
flex-wrap: wrap;
}
Al seguente link troverete una guida dettagliata di questa proprietà: https://www.codingcreativo.it/flex-wrap/.
Flex flow
Questa proprietà una proprietà di sintassi abbreviata per esprimere assieme le due proprietà flex-direction e flex-wrap.
Justify content
Justify-content è la proprietà che serve a stabilire come allineare i box flessibili sull’asse principale del contenitore. I valori ammissibili sono: flex-start, flex-end, center, space-between, space-around e space-evenly. Con queste proprietà lo spazio libero di fine riga può essere ridistribuito.
.flex-container {
display: flex;
flex-direction:row; /* valore di default, si può omettere */
justify-content: center;
}
Align items
align-items: questa proprietà, degli elementi flexbox, serve a stabilire come allineare i box flessibili sull’asse perpendicolare del contenitore. I valori ammissibili sono: stretch, flex-start, flex-end, center e baseline.
Se gli elementi interni dispongono del valore height, allora il valore di default è flex-start, altrimenti è stretch.
.flex-container {
display: flex;
flex-direction:row; /* valore di default, si può omettere */
justify-content: center;
align-items:stretch;
}
Align Content
Align-content è una proprietà che serve solo per i contenitori multi-riga. Infatti serve a stabilire come allineare una riga di box flessibili sull’asse perpendicolare del contenitore. I valori ammissibili sono: stretch, flex-start, flex-end, center, baseline, space-between e space-around.
Anche qui se gli elementi interni dispongono del valore height, allora il valore di default è flex-start, altrimenti è stretch.
Conclusioni
Nelle prossime lezioni continueremo ancora a parlare di flex parlando in dettaglio di tutte le proprietà elencate ed inoltre introdurremo le proprietà che si applicano ai box flessibili.
Alcuni link utili
Indice tutorial CSS3
Indice tutorial HTML
Fogli di stile interni, esterni ed in linea
Fogli di stile esterni
Selettori
Come impostare le pseudo-classi
Reset CSS
CSS responsive