CSS Fogli Di Stile

Allineamento Con Align Items

Allineamento con align items: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Allineamento con justify-content.

Allineare sull’asse trasversale

Allineare sull’asse trasversale: fondamenti.

align-items definisce l’allineamento dei flex item sull’asse trasversale. Nel caso row, con un contenitore più alto dei contenuti, puoi osservare flex-start, center e flex-end rispetto all’altezza. stretch può estendere elementi con dimensione trasversale automatica. Se un elemento ha già una dimensione esplicita, non aspettarti la stessa estensione.

Come funziona: allineare sull’asse trasversale

Allineare sull’asse trasversale: comportamento nel browser.

baseline allinea le linee di base del testo nei casi pertinenti ed è utile per elementi con caratteri di dimensioni diverse. Non è equivalente ad allineare i bordi delle scatole. Con flex-direction: column l’asse trasversale cambia e la proprietà non è più una semplice centratura verticale.

Scelte di utilizzo e limiti

Allineare sull’asse trasversale: progetto e verifica.

Non confondere align-items con align-content: la seconda riguarda la distribuzione delle righe quando esiste spazio trasversale e un layout multilinea appropriato. In questa lezione manteniamo una sola riga per isolare il comportamento dei singoli elementi.

Idea chiave: I figli vengono centrati sull’asse trasversale pur avendo contenuti di altezza diversa.

Esempio commentato

Allineare sull’asse trasversale: HTML e CSS.

Esempio con stile esterno. Il documento index.html collega il file stile.css mediante il tag link nella head.

Documento HTML completo

<!doctype html>
<html lang="it">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Allineamento con align-items</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<div class="gruppo"><div>Uno</div><div class="grande">Due</div><div>Tre</div></div>
</body>
</html>

File stile.css

.gruppo { display: flex; align-items: center; gap: 1rem; min-height: 12rem; border: 1px solid navy; }
.gruppo > div { padding: 1rem; background-color: #eef4fa; }
.grande { font-size: 2rem; }

I figli vengono centrati sull’asse trasversale pur avendo contenuti di altezza diversa.

ProprietàValore nell’esempioSignificato
displayflexTipo di scatola e contesto di layout.
align-itemscenterAllineamento degli item sull’asse pertinente.
gap1remDistanza fra elementi o tracce nel layout pertinente.
min-height12remLimite inferiore all’altezza.
border1px solid navyAbbreviazione per spessore, stile e colore del bordo.
padding1remSpazio interno fra contenuto e bordo.
Attenzione: align-items non è align-content. L’asse trasversale dipende da flex-direction.

LABORATORIO

Sperimentare: Allineare sull’asse trasversale

I figli vengono centrati sull’asse trasversale pur avendo contenuti di altezza diversa.

Obiettivo: Comprendere e applicare allineare sull’asse trasversale attraverso esempi e verifica nel browser.

Software: editor di testo e browser con DevTools; Tempo: 15 minuti.

Preparazione: scarica l’esempio completo e estrai lo ZIP. Apri index.html nel browser. Puoi anche aprire l’esempio online.

Apri il file stile.css nell’editor. Le lezioni iniziali usano un documento già preparato per concentrarsi sulle regole; il collegamento esterno e lo stile interno vengono spiegati nelle lezioni dedicate. Le modifiche nei DevTools sono normalmente temporanee.

Procedura passo passo

  1. Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
  2. Esegui la modifica: Prova align-items: baseline e confronta la posizione dei testi con quella dei bordi.
  3. Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
  4. Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
  5. Annota causa ed effetto: scrivi il valore o la struttura iniziale, il cambiamento e il risultato. Ripristina il punto di partenza prima dell’esercizio autonomo.
Cosa devi vedere — Output atteso

L’allineamento segue le linee di base dei testi invece del centro geometrico delle scatole.

Il font e alcuni dettagli dell’interfaccia dipendono dal browser. Valuta la proprietà e il comportamento descritti, non una corrispondenza perfetta con uno screenshot.

Verifica del risultato

ControlloCriterio
Effetto specificoL’allineamento segue le linee di base dei testi invece del centro geometrico delle scatole.
Corrispondenza del codiceIndividua la dichiarazione o la relazione HTML responsabile della differenza.
PersistenzaRiporta la modifica nel file e verifica dopo un ricaricamento.
SpiegazioneMotiva la differenza senza affidarti soltanto a uno screenshot.
Se il risultato non coincide: verifica file aperto, salvataggio, percorso del CSS, selettore e validità dei valori. Controlla poi la cascata e le dimensioni del viewport. Cambia una sola causa alla volta.

Esercizio autonomo

Allinea i figli all’inizio dell’asse trasversale.

Consegna: file modificati e una breve spiegazione di selettore, proprietà e risultato. Criterio di riuscita: il cambiamento richiesto funziona dopo il ricaricamento e non taglia informazioni indispensabili.

Una possibile soluzione dell’esercizio
.gruppo { align-items: flex-start; }

Integra la soluzione nel punto pertinente: modifica o sostituisci le regole coinvolte invece di accumulare dichiarazioni contraddittorie. Le altre parti dell’esempio restano necessarie.

Verifica dei concetti

Allineare sull’asse trasversale: interpretazione e applicazione.

Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.

1. Quale valore allinea le linee di base del testo? ▾
Risposta: baseline. align-items definisce l’allineamento dei flex item sull’asse trasversale. Nel caso row, con un contenitore più alto dei contenuti, puoi osservare flex-start, center e flex-end rispetto all’altezza. stretch può estendere elementi con dimensione trasversale automatica. Se un elemento ha già una dimensione esplicita, non aspettarti la stessa estensione.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: I figli vengono centrati sull’asse trasversale pur avendo contenuti di altezza diversa.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: L’allineamento segue le linee di base dei testi invece del centro geometrico delle scatole.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: align-items non è align-content. L’asse trasversale dipende da flex-direction.

Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.