CSS Fogli Di Stile

Larghezza E Altezza

Larghezza e altezza: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Il box model.

Larghezza e altezza delle scatole

Larghezza e altezza delle scatole: fondamenti.

width e height impostano dimensioni, ma il loro significato dipende dal box model e dal contesto. Con content-box riguardano il contenuto; con border-box includono padding e bordo. Un normale blocco con width: auto tende a usare lo spazio disponibile; con height: auto cresce seguendo il contenuto. Questo comportamento è prezioso per testi variabili.

Come funziona: larghezza e altezza delle scatole

Larghezza e altezza delle scatole: comportamento nel browser.

Una larghezza del 100% con content-box e padding aggiuntivo può superare il contenitore. Una percentuale di altezza richiede invece un riferimento appropriato: se l’altezza del contenitore non è definita in modo pertinente, il risultato non va interpretato come una semplice frazione dell’intera pagina. Non trattare tutte le percentuali come equivalenti.

Scelte di utilizzo e limiti

Larghezza e altezza delle scatole: progetto e verifica.

Un’altezza fissa per una scheda di testo può tagliare o far traboccare le righe quando cresce lo zoom o cambia il contenuto. Usa altezza automatica salvo una motivazione precisa. Per garantire una dimensione minima senza bloccare la crescita esiste min-height, che approfondiremo nella prossima lezione.

Idea chiave: La larghezza segue il contenitore; l’altezza dipende dal testo. border-box include padding e bordo nella percentuale dichiarata.

Esempio commentato

Larghezza e altezza delle scatole: 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>Larghezza e altezza</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<div class="scheda"><p>Una scheda cresce quando il testo aumenta.</p></div>
</body>
</html>

File stile.css

.scheda { width: 80%; height: auto; padding: 1rem; border: 1px solid navy; box-sizing: border-box; }

La larghezza segue il contenitore; l’altezza dipende dal testo. border-box include padding e bordo nella percentuale dichiarata.

ProprietàValore nell’esempioSignificato
width80%Larghezza secondo box model e contesto.
heightautoAltezza secondo box model e contesto.
padding1remSpazio interno fra contenuto e bordo.
border1px solid navyAbbreviazione per spessore, stile e colore del bordo.
box-sizingborder-boxConvenzione per includere o escludere padding e bordo dalle dimensioni dichiarate.
Attenzione: Non fissare un’altezza solo per far combaciare uno screenshot: prova testo più lungo e zoom.

LABORATORIO

Sperimentare: Larghezza e altezza delle scatole

La larghezza segue il contenitore; l’altezza dipende dal testo. border-box include padding e bordo nella percentuale dichiarata.

Obiettivo: Comprendere e applicare larghezza e altezza delle scatole 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: Aggiungi quattro paragrafi e confronta height: auto con height: 100px.
  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

Con auto la scheda cresce; con 100px i contenuti possono uscire dall’area del bordo.

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 specificoCon auto la scheda cresce; con 100px i contenuti possono uscire dall’area del bordo.
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

Rendi la scheda larga 100% e conserva altezza automatica e border-box.

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
.scheda { width: 100%; height: auto; box-sizing: border-box; }

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

Larghezza e altezza delle scatole: interpretazione e applicazione.

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

1. Quale valore permette normalmente al blocco di crescere con il testo? ▾
Risposta: height: auto. width e height impostano dimensioni, ma il loro significato dipende dal box model e dal contesto. Con content-box riguardano il contenuto; con border-box includono padding e bordo. Un normale blocco con width: auto tende a usare lo spazio disponibile; con height: auto cresce seguendo il contenuto. Questo comportamento è prezioso per testi variabili.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: La larghezza segue il contenitore; l’altezza dipende dal testo. border-box include padding e bordo nella percentuale dichiarata.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Con auto la scheda cresce; con 100px i contenuti possono uscire dall’area del bordo.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: Non fissare un’altezza solo per far combaciare uno screenshot: prova testo più lungo e zoom.

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