Generatore di CSS Flexbox

Costruisci layout Flexbox visivamente · regola le proprietà del contenitore e degli elementi, vedi un'anteprima dal vivo, copia il CSS.

Proprietà del contenitore

Anteprima dal vivo

CSS generato

Come usare

  1. Definisci le proprietà del contenitore: configura il contenitore flex, flex-direction, justify-content, align-items, flex-wrap e gap.
  2. Aggiungi e configura gli elementi flex: aggiungi elementi figli e definisci flex-grow, flex-shrink, flex-basis, align-self e order individualmente.
  3. Copia il CSS: ottieni il CSS completo per il contenitore e gli elementi, pronto da usare nel tuo progetto.

Perché usare il generatore Flexbox?

Flexbox è lo strumento essenziale per un layout CSS monodimensionale, allineare elementi in riga o colonna con potenti controlli di distribuzione e allineamento. Ma le proprietà sono numerose e le loro interazioni complesse: justify-content contro align-items, flex-grow contro flex-basis, asse principale contro asse trasversale. Questo generatore interattivo fornisce un feedback visivo immediato quando modifichi ogni proprietà, rendendolo il modo più rapido per imparare Flexbox e ottenere il CSS adatto al tuo layout.

Funzionalità

Domande frequenti

Qual è la differenza tra justify-content e align-items?

justify-content distribuisce gli elementi lungo l'asse principale (orizzontale per impostazione predefinita). align-items allinea gli elementi lungo l'asse trasversale (verticale per impostazione predefinita). Quando flex-direction vale column, gli assi si invertono, justify-content diventa verticale e align-items diventa orizzontale.

Quando usare Flexbox o CSS Grid?

Usa Flexbox per layout monodimensionali, una fila di pulsanti, una barra di navigazione, una lista di card che devono andare a capo. Usa CSS Grid per layout bidimensionali dove devi controllare righe e colonne contemporaneamente, come un layout completo o una griglia di card complessa.

Cosa significa flex: 1?

flex: 1 è una scorciatoia per flex-grow: 1; flex-shrink: 1; flex-basis: 0%. Indica all'elemento di crescere per riempire lo spazio disponibile, di restringersi se necessario, e di partire da zero prima di distribuire lo spazio. Tutti gli elementi con flex: 1 si dividono equamente lo spazio.

Cosa fa davvero Flexbox

Flexbox (Flexible Box Layout) è un modello di layout CSS progettato per distribuire spazio e allineare elementi in una direzione monodimensionale: una riga o una colonna. Introduce due concetti centrali che determinano come si comporta tutto: l'asse principale (la direzione primaria in cui scorrono gli elementi, orizzontale per default) e l'asse trasversale (perpendicolare all'asse principale, verticale per default). Una volta interiorizzato principale vs trasversale, ogni proprietà Flexbox si mappa su uno di essi: justify-content lavora sull'asse principale, align-items lavora sull'asse trasversale, flex-direction scambia quale asse è quale.

Flexbox ha risolto un insieme di problemi di layout che affliggevano gli sviluppatori web dal 1998 al 2014. Prima di Flexbox, centrare verticalmente un elemento richiedeva hack (display: table-cell, margini negativi, position: absolute con trasformazioni translate). Colonne di altezza uguale richiedevano la tecnica delle false colonne con immagini di sfondo. I footer sticky avevano bisogno di calcoli precisi al pixel. Flexbox ha reso tutto questo banale: una dichiarazione su una riga sostituisce decenni di workaround CSS. Il compromesso è che Flexbox è monodimensionale; per layout bidimensionali (riga E colonna simultaneamente), CSS Grid (rilasciato nel 2017) è lo strumento migliore.

Le proprietà Flexbox si dividono chiaramente in due gruppi: proprietà del contenitore (applicate al genitore: display: flex, flex-direction, flex-wrap, justify-content, align-items, align-content, gap) e proprietà degli elementi (applicate ai figli: flex-grow, flex-shrink, flex-basis, align-self, order). Le proprietà del contenitore controllano i pattern di layout; le proprietà degli elementi controllano le eccezioni individuali. Questo generatore espone entrambi i set così puoi sperimentare come interagiscono senza scrivere codice.

Come funziona questo strumento sotto il cofano

L'anteprima in tempo reale è un contenitore flex con elementi figlio di esempio. Mentre cambi le proprietà del contenitore (flex-direction, justify-content, ecc.) tramite menu a tendina e input, JavaScript aggiorna lo stile inline del contenitore di anteprima e il browser ri-renderizza il layout. L'anteprima è l'effettiva implementazione Flexbox del browser, non una simulazione JavaScript: vedi esattamente cosa produrrà il tuo CSS su una pagina reale.

I controlli per elemento ti permettono di regolare ogni figlio individualmente. Puoi aggiungere o rimuovere elementi, impostare i loro valori di flex-grow, flex-shrink, flex-basis, align-self e order, e vedere come il contenitore ridistribuisce lo spazio di conseguenza. Gli indicatori visivi degli assi mostrano gli assi principale e trasversale per la configurazione corrente, rafforzando il modello mentale. Le proprietà sono CSS reale che puoi copiare direttamente nel tuo foglio di stile, senza bisogno di transpilazione o prefissi framework.

Il pannello CSS Generato si aggiorna a ogni interazione, producendo due regole CSS: una per il contenitore (con le proprietà flex scelte) e una per gli elementi. Clicca Copia CSS e le regole vengono scritte sulla tua clipboard. Lo strumento stesso non fa mai richieste di rete; il rendering dell'anteprima, la generazione del codice e la scrittura sulla clipboard avvengono tutti in JavaScript sul tuo dispositivo. Ricarica la pagina e la tua configurazione è sparita, a meno che tu non abbia copiato il CSS prima.

Breve storia di Flexbox

Flussi di lavoro reali

Trappole comuni e cosa significano

Privacy: tutto gira nel tuo browser

Gli strumenti di apprendimento e layout CSS arrivano in due varianti: semplici pagine HTML che eseguono JavaScript lato client (private, veloci, senza setup) ed editor cloud con progetti salvati (collaborativi ma con compromessi di privacy). Questo strumento è del primo tipo. Le tue selezioni di proprietà, le tue configurazioni di elementi, il tuo CSS generato: tutto resta nella tua sessione browser. Ricarica la pagina e lo stato è sparito a meno che tu non abbia copiato il CSS prima.

Le poste in gioco della privacy sono basse qui perché le configurazioni Flexbox raramente contengono informazioni sensibili. Comunque, la mancanza di analytics conta: puoi sperimentare liberamente senza che il tuo processo di prova ed errore venga registrato. Particolarmente utile in contesti di classe o di formazione aziendale dove avere studenti o tirocinanti che registrano account su piattaforme di terze parti è un punto di attrito. Lo strumento è una singola pagina statica senza backend, utilizzabile in qualsiasi browser, comprese le macchine enterprise bloccate.

Quando un altro strumento è la scelta giusta