<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Flexbox - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Flexbox - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 19 Jun 2026 20:01:08 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/tag/flexbox/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Come funziona Flexbox — spiegato con grandi gif colorate e animate ]]>
                </title>
                <description>
                    <![CDATA[ Flexbox promette di salvarci dai mali del semplice CSS (come l'allineamento verticale). Bene, Flexbox ci permette di raggiungere questo obiettivo. Ma padroneggiare il suo nuovo modello mentale può essere difficile. Diamo quindi uno sguardo animato a come funziona Flexbox, in modo da poterlo usare per creare dei layout migliori. Il ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/come-funziona-flexbox-spiegato-con-grandi-gif-colorate-e-animate-2/</link>
                <guid isPermaLink="false">6321ee3d9a423c074eb49b1a</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Flexbox ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Roberto Pauletto ]]>
                </dc:creator>
                <pubDate>Mon, 03 Oct 2022 05:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/09/1_zyzR64aw4rDPsoG-ZwZ9rQ.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/an-animated-guide-to-flexbox-d280cf6afc35/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How Flexbox works — explained with big, colorful, animated gifs</a>
      </p><p>Flexbox promette di salvarci dai mali del semplice CSS (come l'allineamento verticale).</p><p>Bene, Flexbox ci permette di raggiungere questo obiettivo. Ma padroneggiare il suo nuovo modello mentale può essere difficile.</p><p>Diamo quindi uno sguardo animato a come funziona Flexbox, in modo da poterlo usare per creare dei layout migliori.</p><p>Il principio alla base di Flexbox è rendere i layout flessibili e intuitivi.</p><p>Per ottenere questo risultato, fa sì che i contenitori possano decidere da soli come distribuire uniformemente i propri elementi figli <strong>— </strong>inclusi la loro dimensione e lo spazio tra di essi.</p><p>Tutto ciò suona bene in linea di principio. Ma vediamo come si presenta in pratica.</p><p>In questo articolo, analizzeremo le 5 proprietà Flexbox più comuni. Esploreremo cosa fanno, come si possono usare e qual è il risultato effettivo.</p><h3 id="propriet-1-display-flex"><strong>Proprietà #1: <code>display: flex</code></strong></h3><p>Ecco una pagina web di esempio:</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/ChnkgUaWEN6dmtS4EQCG60uqIjZVphsErq91" class="kg-image" alt="ChnkgUaWEN6dmtS4EQCG60uqIjZVphsErq91" width="800" height="355" loading="lazy"></figure><p>Ci sono quattro <code>div</code> colorati di dimensioni diverse, all'interno di un <code>div</code> contenitore grigio. Per ora ogni <code>div</code> ha la proprietà predefinita <code>display: block</code>. Quindi, ogni quadrato occupa l'intera larghezza della sua riga.</p><p>Per utilizzare Flexbox, dobbiamo rendere l'elemento <strong>contenitore</strong> un <strong>contenitore flex</strong>, in questo modo:</p><pre><code>#contenitore {
    display: flex;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/6WwoIEc45lUHUcFQCmD8GmziiISm2lO64Y1-" class="kg-image" alt="6WwoIEc45lUHUcFQCmD8GmziiISm2lO64Y1-" width="800" height="345" loading="lazy"></figure><p>Non è cambiato molto <strong>— </strong>ora i <code>div</code> sono visualizzati in linea, ma questo è tutto. Tuttavia, dietro le quinte abbiamo fatto una cosa molto importante. <strong>Abbiamo fornito ai quadrati qualcosa chiamato <em>contesto flex</em><strong>.</strong></strong></p><p>Ora possiamo iniziare a posizionarli all'interno di questo contesto, con molta meno difficoltà rispetto al CSS tradizionale.</p><h3 id="propriet-2-flex-direction"><strong>Proprietà #2: <code>flex-direction</code></strong></h3><p>Un contenitore Flexbox ha due assi: <strong>un asse principale (main)</strong> e <strong>un asse trasversale (cross).</strong> Nella modalità predefinita hanno questa orientazione:</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/HHwxqz2N4bNksz9YwcMBAtD0z9TTCxeNXNBS" class="kg-image" alt="HHwxqz2N4bNksz9YwcMBAtD0z9TTCxeNXNBS" width="800" height="450" loading="lazy"></figure><p><strong>Di default, gli elementi sono disposti lungo l'asse principale, da sinistra a destra. </strong>Ecco perché i quadrati si sono disposti in una riga orizzontale non abbiamo applicato <code>display: flex</code>.</p><p>Tuttavia, la proprietà <code>flex-direction</code>, consente di ruotare l'asse principale.</p><pre><code>#contenitore {
    display: flex;
    flex-direction: column;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/wEg7wdKEfv9-bqaiB-t9hzOapBPiqZVYNFIh" class="kg-image" alt="wEg7wdKEfv9-bqaiB-t9hzOapBPiqZVYNFIh" width="800" height="345" loading="lazy"></figure><p>Qui c'è un'importante distinzione da fare: <code>flex-direction: column</code> non allinea i quadrati sull'asse trasversale invece di quello principale. <strong>Cambia l'asse principale stesso da orizzontale a verticale</strong>.</p><p>Esistono anche un paio di altre opzioni per <code>flex-direction</code>: <code>row-reverse</code><em><em> </em></em>e <code>column-reverse</code><em><em>.</em></em></p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/zYdQGSmhtMyqcAbEUDoEehohC8E-gtgvQx6b" class="kg-image" alt="zYdQGSmhtMyqcAbEUDoEehohC8E-gtgvQx6b" width="800" height="345" loading="lazy"></figure><h3 id="propriet-3-justify-content"><strong>Proprietà #3: <code>justify-content</code></strong></h3><p><code>justify-content</code> controlla l'allineamento degli elementi sull'<strong>asse principale.</strong></p><p>Qui ci addentriamo maggiormente nella distinzione tra asse principale e trasversale. Innanzitutto, ritorniamo a <code>flex-direction: row</code>.</p><pre><code>#contenitore {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}</code></pre><p>Abbiamo cinque valori a disposizione per <code>justify-content</code>:</p><ol><li><code>flex-start</code></li><li><code>flex-end</code></li><li><code>center</code></li><li><code>space-between</code></li><li><code>space-around</code></li></ol><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/OBGVr-DdHiQ2y9VOWuhXqXeGnFnyDSBTx7hv" class="kg-image" alt="OBGVr-DdHiQ2y9VOWuhXqXeGnFnyDSBTx7hv" width="800" height="179" loading="lazy"></figure><p><code>space-around</code> e <code>space-between</code> sono i meno intuitivi. <strong><code>s<strong>pace-between</strong></code><strong> </strong>dà uguale spazio tra ciascun quadrato, ma non tra i quadrati e il contenitore<strong>.</strong></strong></p><p><code>space-around</code> inserisce un cuscino di spazio uguale su entrambi i lati del quadrato — il che vuole dire che <strong>lo spazio tra i quadrati più esterni e il contenitore è la metà dello spazio tra due quadrati</strong> (ogni quadrato contribuisce con un uguale ammontare di margine non sovrapposto, quindi raddoppiando lo spazio).</p><p>Una nota finale: ricorda che<strong><strong> <code>justify-content</code> </strong>lavora lungo l'asse principale</strong>, e <strong><strong><code>flex-direction</code> </strong>inverte l'asse principale</strong>. Questo sarà importante mentre ci spostiamo verso…</p><h3 id="propriet-4-align-items"><strong>Proprietà #4: <code>align-items</code></strong></h3><p>Se hai 'afferrato' <code>justify-content</code>, <code>align-items</code> sarà un gioco da ragazzi.</p><p>Se <code>justify-content</code> lavora lungo l'asse principale, <strong><strong><code>align-items</code></strong> si applica all'asse trasversale<strong>.</strong></strong></p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/RfGcYLbTwhd9dmqLV9-F3ocjBE8Dp4ejvYXv" class="kg-image" alt="RfGcYLbTwhd9dmqLV9-F3ocjBE8Dp4ejvYXv" width="800" height="450" loading="lazy"></figure><p>Reimpostiamo la direzione su <code>flex-direction: row</code>,<em> </em>in modo che gli assi siano uguali a quelli dell'immagine qui sopra.</p><p>Ora approfondiamo i comandi di <code>align-items</code>.</p><ol><li><code>flex-start</code></li><li><code>flex-end</code></li><li><code>center</code></li><li><code>stretch</code></li><li><code>baseline</code></li></ol><p>I primi tre sono esattamente gli stessi di <code>justify-content</code>, quindi niente di particolare qui.</p><p>Tuttavia gli altri due sono un po' diversi.</p><p>Abbiamo <code>stretch</code>, in cui gli elementi occupano l'intero asse trasversale e <code>baseline</code>, in cui la parte inferiore dei tag di paragrafo è allineata.</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/UgsULw0Kk49l-l1wSzeurYNJKCmcA-01oE8a" class="kg-image" alt="UgsULw0Kk49l-l1wSzeurYNJKCmcA-01oE8a" width="800" height="280" loading="lazy"></figure><blockquote>Nota che per <code>align-items: stretch</code>, ho dovuto impostare l'altezza dei quadrati su <code>auto</code>, altrimenti la proprietà <code>height</code> avrebbe la precedenza su <code>stretch</code>.</blockquote><p>Per <code>baseline</code>, sii consapevole che se togli i tag di paragrafo, l'allineamento avviene rispetto alla base dei quadrati, in questo modo:</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/dIxrfoUa2r7vM62TGAlKN2KGOnIMmeNM-Gwr" class="kg-image" alt="dIxrfoUa2r7vM62TGAlKN2KGOnIMmeNM-Gwr" width="800" height="255" loading="lazy"></figure><p>Per una migliore dimostrazione degli assi principale e trasversale, combiniamo le proprietà <code>justify-content</code> e <code>align-items</code> per vedere come funziona la centratura in modo diverso per i due valori di <code>flex-direction</code>:</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/u9tCV-zRt3qpgSyNQt53e-eRz0-HIrsqqOk-" class="kg-image" alt="u9tCV-zRt3qpgSyNQt53e-eRz0-HIrsqqOk-" width="800" height="417" loading="lazy"></figure><p><strong>Con<strong> <code>row</code>, </strong>i quadrati sono disposti lungo un asse principale orizzontale<strong>.</strong> Con <strong><code>column</code>, </strong>si dispongono lungo un asse principale verticale<strong>.</strong></strong></p><p>Anche se i quadrati sono centrati sia verticalmente che orizzontalmente in entrambi i casi, i due non sono intercambiabili!</p><h3 id="propriet-5-align-self"><strong>Proprietà #5: <code>align-self</code></strong></h3><p><code>align-self</code> ci consente di manipolare manualmente l'allineamento di un particolare elemento.</p><p>In pratica, sovrascrive <code>align-items</code> per un quadrato. Tutte le proprietà sono le stesse, sebbene l'impostazione predefinita sia <code>auto</code>, in cui segue la proprietà <code>align-items</code> del contenitore.</p><pre><code>#contenitore {
     align-items: flex-start;
 }</code></pre><pre><code>.quadrato#uno {
    align-self: center;
}
// Solo questo quadrato verrà centrato.</code></pre><p>Vediamo qual è il risultato applicando <code>align-self</code> a due quadrati e <code>align-items: center</code> e <code>flex-direction: row</code> agli altri.</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/HbnMZT330ylw5idocqrjOfp9DrlZt9JrJm9o" class="kg-image" alt="HbnMZT330ylw5idocqrjOfp9DrlZt9JrJm9o" width="800" height="251" loading="lazy"></figure><h3 id="conclusione"><strong>Conclusione</strong></h3><p>Anche se è abbiamo affrontato Flexbox scavando soltanto in superficie, questi comandi dovrebbero essere sufficienti per gestire la maggior parte degli allineamenti di base — e per allineare verticalmente quello che desideri.</p><p>Grazie per aver letto questo articolo! </p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CSS Flexbox - Un compendio (con diagrammi animati!) ]]>
                </title>
                <description>
                    <![CDATA[ Questo compendio integrale su flexbox in CSS tratterà tutto quello che hai bisogno di sapere per iniziare a usare flexbox nei tuoi progetti per il web. Il layout di CSS flexbox ti permette una facile formattazione dell'HTML. Flexbox semplifica l'allineamento verticale e orizzontale tramite righe e colonne. Gli oggetti si ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/css-flexbox-un-compendio-con-diagrammi-animati/</link>
                <guid isPermaLink="false">62b0ca2ebf2a8706f90f35b6</guid>
                
                    <category>
                        <![CDATA[ Flexbox ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Dario Di Cillo ]]>
                </dc:creator>
                <pubDate>Tue, 28 Jun 2022 12:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/06/chuttersnap-fyaTq-fIlro-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/flexbox-the-ultimate-css-flex-cheatsheet/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Flexbox - The Ultimate CSS Flex Cheatsheet (with animated diagrams!)</a>
      </p><p>Questo compendio integrale su flexbox in CSS tratterà tutto quello che hai bisogno di sapere per iniziare a usare flexbox nei tuoi progetti per il web.</p><p>Il layout di CSS flexbox ti permette una facile formattazione dell'HTML. Flexbox semplifica l'allineamento verticale e orizzontale tramite righe e colonne. Gli oggetti si adatteranno a diverse dimensioni per riempire lo spazio, rendendo più semplice il design responsivo.</p><p>CSS flexbox è ottimo da utilizzare per il layout generale di un sito web o un'app. È facile da imparare, è supportato da tutti i browser moderni e non serve molto per comprenderne le basi. Alla fine di questa guida, sarai pronto ad utilizzare flexbox nei tuoi progetti.</p><p>Quest'articolo include delle <a href="https://www.freecodecamp.org/italian/news/come-funziona-flexbox-spiegato-con-grandi-gif-colorate-e-animate-2/">gif animate create da Scott Domes</a> che ti aiuteranno a capire e visualizzare come funziona flexbox.</p><h2 id="tutte-le-propriet-di-css-flexbox"><strong>Tutte le proprietà di CSS flexbox</strong></h2><p>Ecco una lista di tutte le proprietà di CSS flexbox che possono essere utilizzate per posizionare gli elementi in CSS. Più avanti vedremo come funzionano.</p><h3 id="css-che-pu-essere-applicato-al-contenitore"><strong><strong><strong><strong>CSS </strong></strong>che può essere applicato al contenitore</strong></strong></h3><pre><code class="language-css">display: flexbox | inline-flex;
flex-direction: row | row-reverse | column | column-reverse;
flex-wrap: nowrap | wrap | wrap-reverse;
flex-flow: &lt;‘flex-direction’&gt; || &lt;‘flex-wrap’&gt;
justify-content: flex-start | flex-end | center | space-between | space-around;
align-items: flex-start | flex-end | center | baseline | stretch;
align-content: flex-start | flex-end | center | space-between | space-around | stretch;</code></pre><h3 id="css-che-pu-essere-applicato-agli-elementi-nel-contenitore"><strong><strong><strong><strong>CSS </strong></strong>che può essere applicato agli elementi nel contenitore</strong></strong></h3><pre><code class="language-css">order: &lt;integer&gt;;
flex-grow: &lt;number&gt;; /* default 0 */
flex-shrink: &lt;number&gt;; /* default 1 */
flex-basis: &lt;length&gt; | auto; /* default auto */
flex: none | [ &lt;'flex-grow'&gt; &lt;'flex-shrink'&gt;? || &lt;'flex-basis'&gt; ]
align-self: auto | flex-start | flex-end | center | baseline | stretch;</code></pre><h2 id="terminologia"><strong><strong>Terminolog</strong>ia</strong></h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/italian/news/content/images/2022/06/image-9.png" class="kg-image" alt="image-9" srcset="https://www.freecodecamp.org/italian/news/content/images/size/w600/2022/06/image-9.png 600w, https://www.freecodecamp.org/italian/news/content/images/2022/06/image-9.png 665w" width="665" height="277" loading="lazy"><figcaption>Diagramma della terminologia flexbox dalle <a href="https://www.w3.org/TR/css-flexbox-1/">specifiche ufficiali W3C</a>.</figcaption></figure><p>Prima di imparare quali proprietà flexbox utilizzare, è importante capire la terminologia associata. Ecco le definizioni dei termini chiave flexbox, prese dalle <a href="https://www.w3.org/TR/css-flexbox-1/">specifiche ufficiali W3C</a> per flexbox:</p><ul><li><strong><strong><strong><strong>main-axis</strong></strong></strong></strong>: l'asse principale del contenitore flex è l'asse primario lungo il quale sono disposti gli oggetti flex. La direzione si basa sul valore della proprietà flex-direction.</li><li><strong><strong><strong><strong>main-start | main-end</strong></strong></strong></strong>:<strong><strong> </strong></strong>gli oggetti flex vengono posizionati all'interno del contenitore partendo dal lato main-start verso il lato main-end.</li><li><strong><strong><strong><strong>main size</strong></strong></strong></strong>: la dimensione principale corrisponde alle proprietà width (larghezza) o height (altezza) del contenitore flex o dell'oggetto flex, a seconda di qual è l'asse principale. </li><li><strong><strong><strong><strong>cross axis</strong></strong></strong></strong>: l'asse perpendicolare all'asse principale viene chiamato cross axis. La sua direzione dipende da quella dell'asse principale.</li><li><strong><strong><strong><strong>cross-start | cross-end</strong></strong></strong></strong>: le linee flex sono riempite dagli oggetti flex posizionati nel contenitore partendo dal lato cross-start del contenitore flex verso il lato cross-end.</li><li><strong><strong><strong><strong>cross size</strong></strong></strong></strong>: la larghezza o l'altezza di un oggetto flex, corrispondenti alle proprietà ‘width’ o ‘height’, a seconda di quale è l'asse perpendicolare.</li></ul><h2 id="css-display-flex"><strong><strong>CSS </strong>D<strong>isplay </strong>F<strong>lex</strong></strong></h2><p><code>display: flex</code> comunica al tuo browser "voglio usare flexbox con questo contenitore".</p><p>L'impostazione predefinita di un elemento <code>div</code> è <code>display:block</code>. Un elemento con questa impostazione display occupa tutta la larghezza della pagina in corrispondenza della riga in cui è collocato. Ecco un esempio di quattro div colorati all'interno di un div genitore con le impostazioni di default:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/ChnkgUaWEN6dmtS4EQCG60uqIjZVphsErq91" class="kg-image" alt="ChnkgUaWEN6dmtS4EQCG60uqIjZVphsErq91" width="800" height="355" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><p>Per usare flexbox su una sezione della tua pagina, prima di tutto, converti l'elemento genitore in un contenitore flex aggiungendo <code>display: flex;</code> al suo CSS.</p><p>In questo modo, l'elemento diventerà un contenitore flex al quale verranno applicate delle proprietà flex di default.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/6WwoIEc45lUHUcFQCmD8GmziiISm2lO64Y1-" class="kg-image" alt="6WwoIEc45lUHUcFQCmD8GmziiISm2lO64Y1-" width="800" height="345" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><h2 id="flex-direction"><strong><strong>Flex </strong>D<strong>irection</strong></strong></h2><p><code>flex-direction</code> ti permette di controllare la disposizione degli oggetti nel contenitore. Li vuoi da sinistra a destra, da destra a sinistra, dall'alto in basso o dal basso in alto? Puoi fare tutto questo facilmente, impostando la proprietà <code>flex-direction</code> del contenitore.</p><p>La disposizione di default di <code>display: flex</code> corrisponde agli elementi posizionati lungo l'asse principale da sinistra a destra. L'animazione qui sotto mostra cosa accade quando la proprietà <code>flex-direction: column</code> viene aggiunta all'elemento contenitore.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/wEg7wdKEfv9-bqaiB-t9hzOapBPiqZVYNFIh" class="kg-image" alt="wEg7wdKEfv9-bqaiB-t9hzOapBPiqZVYNFIh" width="800" height="345" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><p>Puoi anche impostare <code>flex-direction</code> su <code>row-reverse</code> e <code>column-reverse</code><em><em><em><em>.</em></em></em></em></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/zYdQGSmhtMyqcAbEUDoEehohC8E-gtgvQx6b" class="kg-image" alt="zYdQGSmhtMyqcAbEUDoEehohC8E-gtgvQx6b" width="800" height="345" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><h2 id="justify-content"><strong><strong>Justify Content</strong></strong></h2><p><code>justify-content</code> è una proprietà usata per allineare elementi all'interno del contenitore lungo l'asse principale (vedi il diagramma con la terminologia). Questa proprietà permetti di riempire qualsiasi spazio vuoto sulle righe e definisce come vogliamo "giustificare" il contenuto.</p><p>Questi sono i valori più comuni di justify-content: <code>flex-start | flex-end | center | space-between | space-around</code>.</p><p>Ed ecco quale effetto producono i differenti valori:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/OBGVr-DdHiQ2y9VOWuhXqXeGnFnyDSBTx7hv" class="kg-image" alt="OBGVr-DdHiQ2y9VOWuhXqXeGnFnyDSBTx7hv" width="800" height="179" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><p><code>space-between</code> distribuisce gli oggetti in modo che il primo sia allineato all'inizio e l'ultimo sia allineato alla fine. <code>space-around</code> è simile, ma gli oggetti sono disposti in modo tale che alle estremità ci sia la metà dello spazio rispetto a quello tra gli oggetti.</p><h2 id="flex-align-items"><strong><strong>Flex </strong>A<strong>lign </strong>I<strong>tems</strong></strong></h2><p><code>align-items</code> permette di allineare gli oggetti lungo l'asse perpendicolare (vedi sopra per il diagramma con la terminologia). Il contenuto può essere posizionato in molti modi diversi usando insieme <code>justify-content</code> e <code>align-items</code>.</p><p>Ecco le opzioni più comuni per la proprietà align-items: <code>flex-start | flex-end | center | baseline | stretch</code></p><p>Affinché <code>stretch</code> funzioni come atteso, l'altezza degli elementi deve essere impostata su <code>auto</code> invece che su di un valore specifico.</p><p>Questa animazione mostra come vengono disposti gli elementi con le diverse opzioni:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/UgsULw0Kk49l-l1wSzeurYNJKCmcA-01oE8a" class="kg-image" alt="UgsULw0Kk49l-l1wSzeurYNJKCmcA-01oE8a" width="800" height="280" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><p>Adesso useremo sia <code>justify-content</code> che <code>align-items</code>, così da evidenziare la differenza tra l'asse principale e quello perpendicolare.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/u9tCV-zRt3qpgSyNQt53e-eRz0-HIrsqqOk-" class="kg-image" alt="u9tCV-zRt3qpgSyNQt53e-eRz0-HIrsqqOk-" width="800" height="417" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><h2 id="align-self"><strong><strong>Align </strong>S<strong>elf</strong></strong></h2><p><code>align-self</code> ti permette di regolare l'allineamento di un singolo elemento.</p><p>Accetta gli stessi valori di <code>align-items</code>.</p><p>Nella prossima animazione, il div genitore ha il CSS <code>align-items: center</code> e <code>flex-direction: row</code>. I primi due quadrati assumono diversi valori di <code>align-self</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://cdn-media-1.freecodecamp.org/images/HbnMZT330ylw5idocqrjOfp9DrlZt9JrJm9o" class="kg-image" alt="HbnMZT330ylw5idocqrjOfp9DrlZt9JrJm9o" width="800" height="251" loading="lazy"><figcaption>Source: Scott Domes</figcaption></figure><h2 id="flex-wrap"><strong><strong>Flex Wrap</strong></strong></h2><p>Flexbox proverà a disporre gli elementi su una riga come impostazione predefinita. Tuttavia, puoi cambiare questa impostazione con la proprietà <code>flex-wrap</code>. Ci sono tre valori che puoi usare per determinare quando sistemare gli elementi in un'altra riga.</p><p>Il valore di default è <code>flex-wrap: nowrap</code> e fa sì che tutto sia posizionato in una sola riga, da sinistra verso destra.</p><p><code>flex-wrap: wrap</code> &nbsp;consentirà agli elementi di passare alla &nbsp;riga successiva una volta esaurito lo spazio nella prima. Gli elementi vengono disposti da sinistra a destra.</p><p>Anche <code>flex-wrap: wrap-reverse</code> permette agli elementi di passare alla riga successiva ma, in questo caso, vengono posizionati da destra verso sinistra.</p><h2 id="flex-flow"><strong><strong>Flex Flow</strong></strong></h2><p><code>flex-flow</code> combina <code>flex-wrap</code> e <code>flex-direction</code> in una proprietà unica. Viene usato scrivendo prima la direzione e poi il wrap. Ad esempio: <code>flex-flow: column wrap;</code>.</p><h2 id="align-content"><strong><strong>Align Content</strong></strong></h2><p><code>align-content</code> serve per allineare elementi su più linee. L'allineamento avviene secondo l'asse perpendicolare e non ha effetto sul contenuto presente nelle singole linee.</p><p>Queste sono le opzioni disponibili: <code>align-content: flex-start | flex-end | center | space-between | space-around | stretch;</code></p><h2 id="allineamento-verticale-con-flexbox"><strong>Allineamento verticale con<strong> Flexbox</strong></strong></h2><p>Se vuoi centrare verticalmente tutto il contenuto all'interno di un elemento genitore, puoi usare <code>align-items</code>. Questo è il codice da utilizzare:</p><pre><code class="language-css">.parent {
    display: flex;
    align-items: center;
}</code></pre><h2 id="giochi-e-app"><strong><strong><strong><strong>G</strong></strong></strong>iochi e App</strong></h2><p>Se vuoi fare pratica con flexbox, prova questi giochi e app che ti aiuteranno a padroneggiare il suo utilizzo.</p><ul><li><a href="http://www.flexboxdefense.com/" rel="nofollow">Flexbox Defense</a> è un gioco in cui puoi imparare a usare flexbox cercando di impedire ai nemici in avvicinamento di superare le tue difese.</li><li><a href="http://flexboxfroggy.com/" rel="nofollow">Flexbox Froggy</a> è un gioco in cui devi aiutare Froggy e i suoi aminici a scrivere del codice CSS.</li><li><a href="http://the-echoplex.net/flexyboxes/" rel="nofollow">Flexyboxes</a> è un'app che ti permette di vedere esempi di codice e cambiare parametri per visualizzare il modo in cui opera flexbox.</li><li><a href="http://www.flexboxpatterns.com/" rel="nofollow">Flexbox Patters</a> è un sito web che contiene svariati esempi di flexbox.</li></ul><h2 id="conclusione"><strong><strong>Conclusion</strong>e</strong></h2><p>Abbiamo affrontato tutti le proprietà più comuni di CSS flexbox. Prova a realizzare qualche progetto, così potrai abituarti presto al funzionamento di flexbox. Il prossimo passo è la pratica!</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
