CSS Fogli Di Stile

Posizionamento Sticky

Posizionamento sticky: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Posizionamento fisso.

Posizionamento sticky e scorrimento

Posizionamento sticky e scorrimento: fondamenti.

position: sticky conserva il posto della scatola nel flusso e può mantenerla aderente a un bordo durante lo scorrimento. Serve un offset non automatico nell’asse interessato, per esempio top: 0. L’effetto inizia quando la posizione normale raggiunge la soglia e resta vincolato al contenitore pertinente. Non è un elemento fisso globale della pagina.

Come funziona: posizionamento sticky e scorrimento

Posizionamento sticky e scorrimento: comportamento nel browser.

Sticky si riferisce al contesto di scorrimento rilevante; overflow sugli antenati può influenzare quale contenitore venga usato. Se non c’è abbastanza spazio da scorrere o il contenitore termina subito, il comportamento può non essere visibile. Prima di aumentare z-index controlla dimensioni, offset e overflow.

Scelte di utilizzo e limiti

Posizionamento sticky e scorrimento: progetto e verifica.

Un’intestazione sticky può coprire parti dei contenuti quando si raggiungono ancore o si aumenta lo zoom. Mantieni un fondo leggibile e prova il percorso di lettura. La comodità di un’etichetta sempre visibile non deve rendere irraggiungibile una porzione della pagina.

Idea chiave: La sezione è il contenitore scrollabile. L’intestazione aderisce al suo bordo superiore, non a quello dell’intera pagina.

Esempio commentato

Posizionamento sticky e scorrimento: 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>Posizionamento sticky</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<section class="area"><h2 class="titolo">Intestazione sticky</h2><p>Scorri dentro quest’area.</p><div class="lungo">Contenuto dimostrativo.</div></section>
</body>
</html>

File stile.css

.area { height: 18rem; overflow: auto; border: 1px solid navy; }
.titolo { position: sticky; top: 0; margin: 0; padding: 1rem; background-color: #eef4fa; }
.lungo { min-height: 40rem; padding: 1rem; }

La sezione è il contenitore scrollabile. L’intestazione aderisce al suo bordo superiore, non a quello dell’intera pagina.

ProprietàValore nell’esempioSignificato
height18remAltezza secondo box model e contesto.
overflowautoGestione del contenuto che supera la scatola.
border1px solid navyAbbreviazione per spessore, stile e colore del bordo.
positionstickyModalità di posizionamento.
top0Offset superiore in un contesto di posizionamento pertinente.
margin0Spazio esterno della scatola.
Attenzione: Sticky richiede un offset e spazio di scorrimento. Controlla l’overflow degli antenati prima di cambiare il layout.

LABORATORIO

Sperimentare: Posizionamento sticky e scorrimento

La sezione è il contenitore scrollabile. L’intestazione aderisce al suo bordo superiore, non a quello dell’intera pagina.

Obiettivo: Comprendere e applicare posizionamento sticky e scorrimento 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: Scorri prima dentro l’area e poi disattiva top: 0.
  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 top: 0 il titolo resta aderente; senza una soglia verticale pertinente l’effetto non si manifesta come previsto.

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 top: 0 il titolo resta aderente; senza una soglia verticale pertinente l’effetto non si manifesta come previsto.
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 soglia a 8px dall’alto del contenitore.

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
.titolo { position: sticky; top: 8px; }

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

Posizionamento sticky e scorrimento: interpretazione e applicazione.

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

1. Quale valore rende osservabile la soglia superiore di sticky? ▾
Risposta: top: 0. position: sticky conserva il posto della scatola nel flusso e può mantenerla aderente a un bordo durante lo scorrimento. Serve un offset non automatico nell’asse interessato, per esempio top: 0. L’effetto inizia quando la posizione normale raggiunge la soglia e resta vincolato al contenitore pertinente. Non è un elemento fisso globale della pagina.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: La sezione è il contenitore scrollabile. L’intestazione aderisce al suo bordo superiore, non a quello dell’intera pagina.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Con top: 0 il titolo resta aderente; senza una soglia verticale pertinente l’effetto non si manifesta come previsto.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: Sticky richiede un offset e spazio di scorrimento. Controlla l’overflow degli antenati prima di cambiare il layout.

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