Fondamenta10 min
Flexbox
Il sistema di layout monodimensionale per allineare e distribuire elementi in riga o colonna.
Flexbox
Flexbox è il sistema di layout ideale per distribuire elementi su un asse — orizzontale o verticale. È perfetto per navbar, card affiancate, centratura e distribuzione dello spazio.
Attivare Flexbox
Basta aggiungere display: flex al contenitore padre.
css
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}Proprietà del contenitore
css
.container {
display: flex;
flex-direction: row; /* row | column */
justify-content: center; /* asse principale */
align-items: stretch; /* asse trasversale */
flex-wrap: wrap; /* permetti a capo */
gap: 16px; /* spazio tra elementi */
}Proprietà dei figli
css
.elemento {
flex-grow: 1; /* quanto spazio extra occupare */
flex-shrink: 0; /* se può restringersi */
flex-basis: 200px; /* dimensione base */
}
/* Shorthand */
.elemento {
flex: 1 0 200px;
}Centrare qualsiasi cosa
Il pattern più utile di Flexbox: centratura perfetta sia in orizzontale che in verticale.
css
.centrato {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}