CSS Fogli Di Stile

Laboratorio Impaginare Una Pagina Con Grid

Laboratorio impaginare una pagina con Grid: teoria, esempi e sperimentazione nel browser.

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.

Idea chiave: La mappa iniziale funziona su una colonna. Da 48rem il contenuto e l’approfondimento si affiancano.

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"; }
}

La mappa iniziale funziona su una colonna. Da 48rem il contenuto e l’approfondimento si affiancano.

ProprietàValore nell’esempioSignificato
displaygridTipo di scatola e contesto di layout.
grid-template-columnsminmax(0, 1fr)Definizione delle tracce di colonna esplicite.
grid-template-areas"testa" "contenuto" "lato" "fondo"Mappa delle aree nominate.
gap1remDistanza fra elementi o tracce nel layout pertinente.
grid-areatestaAssegnazione dell’item a un’area o definizione della collocazione.
padding1remSpazio interno fra contenuto e bordo.
Attenzione: La nuova media query sostituisce la vecchia soglia: non lasciare attiva quella precedente se vuoi cambiare il punto di passaggio.

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

  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: Aggiungi cinque paragrafi al main e prova tre larghezze diverse.
  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

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

ControlloCriterio
Effetto specificoIl contenuto cresce senza essere tagliato. La mappa cambia al breakpoint ma l’ordine HTML non cambia.
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

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.

Una possibile soluzione dell’esercizio
@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? ▾
Risposta: Colonne e mappa delle aree. 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.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: La mappa iniziale funziona su una colonna. Da 48rem il contenuto e l’approfondimento si affiancano.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Il contenuto cresce senza essere tagliato. La mappa cambia al breakpoint ma l’ordine HTML non cambia.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: La nuova media query sostituisce la vecchia soglia: non lasciare attiva quella precedente se vuoi cambiare il punto di passaggio.

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