Prerequisiti: Griglie adattive con auto-fit e auto-fill.
Laboratorio: impaginare una pagina con Grid
Laboratorio: impaginare una pagina con Grid: fondamenti.
Una pagina con intestazione, contenuto e approfondimento può usare aree nominate. La mappa rende leggibile la relazione fra componenti; le tracce definiscono proporzioni e spazi. Parti da una struttura HTML sensata prima di disegnare le aree. Una pagina deve poter essere letta anche senza il layout.
Come funziona: laboratorio: impaginare una pagina con grid
Laboratorio: impaginare una pagina con Grid: comportamento nel browser.
Nelle finestre strette una sola colonna facilita la lettura. Quando c’è spazio puoi affiancare contenuto e approfondimento, mantenendo intestazione e footer a tutta larghezza. La media query cambia la mappa e le colonne, senza duplicare i contenuti. La soglia va verificata con testi reali, non soltanto con etichette di una parola.
Scelte di utilizzo e limiti
Laboratorio: impaginare una pagina con Grid: progetto e verifica.
Il controllo finale riguarda crescita del testo, ordine del focus, leggibilità e assenza di tagli. Non fissare altezze per far sembrare uguali le sezioni. L’overlay Grid permette di identificare tracce e aree, ma il test dell’utente rimane indispensabile.
Esempio commentato
Laboratorio: impaginare una pagina con Grid: 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>Laboratorio: impaginare una pagina con Grid</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<div class="pagina"><header><h1>Corso CSS</h1></header><main><h2>La lezione</h2><p>Contenuto principale con testo variabile.</p></main><aside><h2>Approfondimento</h2><p>Una spiegazione collegata.</p></aside><footer>Materiale didattico</footer></div>
</body>
</html>
File stile.css
.pagina { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "testa" "contenuto" "lato" "fondo"; gap: 1rem; }
header { grid-area: testa; } main { grid-area: contenuto; } aside { grid-area: lato; } footer { grid-area: fondo; }
.pagina > * { padding: 1rem; border: 1px solid navy; }
@media (min-width: 48rem) {
.pagina { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-areas: "testa testa" "contenuto lato" "fondo fondo"; }
}
Risultato nel browser
La mappa iniziale funziona su una colonna. Da 48rem il contenuto e l’approfondimento si affiancano.
| Proprietà | Valore nell’esempio | Significato |
|---|---|---|
display | grid | Tipo di scatola e contesto di layout. |
grid-template-columns | minmax(0, 1fr) | Definizione delle tracce di colonna esplicite. |
grid-template-areas | "testa" "contenuto" "lato" "fondo" | Mappa delle aree nominate. |
gap | 1rem | Distanza fra elementi o tracce nel layout pertinente. |
grid-area | testa | Assegnazione dell’item a un’area o definizione della collocazione. |
padding | 1rem | Spazio interno fra contenuto e bordo. |
LABORATORIO
Sperimentare: Laboratorio: impaginare una pagina con Grid
La mappa iniziale funziona su una colonna. Da 48rem il contenuto e l’approfondimento si affiancano.
Obiettivo: Comprendere e applicare laboratorio: impaginare una pagina con grid attraverso esempi e verifica nel browser.
Software: editor di testo e browser con DevTools; Tempo: 20 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
- Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
- Esegui la modifica: Aggiungi cinque paragrafi al main e prova tre larghezze diverse.
- Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
- Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
- 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.
Il contenuto cresce senza essere tagliato. La mappa cambia al breakpoint ma l’ordine HTML non cambia.
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
| Controllo | Criterio |
|---|---|
| Effetto specifico | Il contenuto cresce senza essere tagliato. La mappa cambia al breakpoint ma l’ordine HTML non cambia. |
| Corrispondenza del codice | Individua la dichiarazione o la relazione HTML responsabile della differenza. |
| Persistenza | Riporta la modifica nel file e verifica dopo un ricaricamento. |
| Spiegazione | Motiva la differenza senza affidarti soltanto a uno screenshot. |
Esercizio autonomo
Porta la soglia a 52rem dopo aver verificato che i testi affiancati risultino troppo stretti a 48rem.
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.
@media (min-width: 52rem) {
.pagina { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-areas: "testa testa" "contenuto lato" "fondo fondo"; }
}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
Laboratorio: impaginare una pagina con Grid: interpretazione e applicazione.
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. Che cosa cambia la media query del laboratorio? ▾
2. Come si interpreta il codice dell’esempio? ▾
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.