CSS Fogli Di Stile

Dimensioni Fluide Con Calc Min Max E Clamp

Dimensioni fluide con calc min max e clamp: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Immagini responsive con CSS.

Calcoli e limiti fluidi

Calcoli e limiti fluidi: fondamenti.

calc() combina quantità compatibili, per esempio calc(100% - 2rem). Gli operatori + e - devono essere separati da spazi nella sintassi ordinaria. Il calcolo permette di esprimere una relazione invece di fissare una misura per ogni larghezza. Non elimina però i vincoli minimi, massimi o del box model.

Come funziona: calcoli e limiti fluidi

Calcoli e limiti fluidi: comportamento nel browser.

min() sceglie il minore fra valori; max() il maggiore. clamp(minimo, preferito, massimo) limita un valore preferito fra due estremi. width: min(100%, 60rem) descrive una scatola che non supera né il contenitore né la misura di lettura scelta. Un font con clamp() può combinare un contributo in rem e uno in vw.

Scelte di utilizzo e limiti

Calcoli e limiti fluidi: progetto e verifica.

Una tipografia basata soltanto su vw può diventare troppo piccola in finestre strette o reagire male alle esigenze di ingrandimento. Mantieni limiti sensati, un contributo relativo al carattere e prove con zoom. Non pensare che clamp() renda automaticamente accessibile qualsiasi valore.

Idea chiave: Il contenitore usa il valore più piccolo fra il 100% e 60rem. Il titolo cresce entro minimo e massimo.

Esempio commentato

Calcoli e limiti fluidi: 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>Dimensioni fluide con calc(), min(), max() e clamp()</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<main class="pagina"><h1>Una misura fluida</h1><p>Ridimensiona la finestra senza perdere leggibilità.</p></main>
</body>
</html>

File stile.css

.pagina { width: min(100%, 60rem); margin-inline: auto; padding: 1rem; box-sizing: border-box; }
h1 { font-size: clamp(1.75rem, 1.25rem + 2vw, 3rem); }

Il contenitore usa il valore più piccolo fra il 100% e 60rem. Il titolo cresce entro minimo e massimo.

ProprietàValore nell’esempioSignificato
widthmin(100%, 60rem)Larghezza secondo box model e contesto.
margin-inlineautoMargini nell’asse inline della modalità di scrittura.
padding1remSpazio interno fra contenuto e bordo.
box-sizingborder-boxConvenzione per includere o escludere padding e bordo dalle dimensioni dichiarate.
font-sizeclamp(1.75rem, 1.25rem + 2vw, 3rem)Dimensione del carattere.
Attenzione: Usa spazi attorno a + e - in calc(). Le dimensioni fluide vanno comunque verificate con zoom e testo reale.

LABORATORIO

Sperimentare: Calcoli e limiti fluidi

Il contenitore usa il valore più piccolo fra il 100% e 60rem. Il titolo cresce entro minimo e massimo.

Obiettivo: Comprendere e applicare calcoli e limiti fluidi 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: Confronta il titolo in una finestra stretta, media e ampia leggendo font-size calcolato.
  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

La misura cambia nell’intervallo e resta limitata fra 1.75rem e 3rem.

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 specificoLa misura cambia nell’intervallo e resta limitata fra 1.75rem e 3rem.
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

Mantieni la pagina a una distanza totale di 2rem dal contenitore usando calc().

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
.pagina { width: min(calc(100% - 2rem), 60rem); margin-inline: auto; }

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

Calcoli e limiti fluidi: interpretazione e applicazione.

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

1. Che cosa fa clamp(minimo, preferito, massimo)? ▾
Risposta: Limita il valore preferito fra due estremi. calc() combina quantità compatibili, per esempio calc(100% - 2rem). Gli operatori + e - devono essere separati da spazi nella sintassi ordinaria. Il calcolo permette di esprimere una relazione invece di fissare una misura per ogni larghezza. Non elimina però i vincoli minimi, massimi o del box model.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: Il contenitore usa il valore più piccolo fra il 100% e 60rem. Il titolo cresce entro minimo e massimo.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: La misura cambia nell’intervallo e resta limitata fra 1.75rem e 3rem.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: Usa spazi attorno a + e - in calc(). Le dimensioni fluide vanno comunque verificate con zoom e testo reale.

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