Prerequisiti: Posizionamento relativo.
Posizionamento assoluto
Posizionamento assoluto: fondamenti.
position: static è il comportamento normale e non usa gli offset di posizionamento nel modo delle scatole posizionate. relative conserva lo spazio originale nel flusso e consente di spostare visivamente l’elemento. absolute viene tolto dal flusso: gli altri elementi non riservano automaticamente il suo spazio. Nel caso semplice qui studiato, un antenato con position: relative fornisce il riferimento per l’elemento absolute. Altre proprietà, come alcune trasformazioni, possono anch’esse creare un contenitore di riferimento.
Come funziona: posizionamento assoluto
Posizionamento assoluto: comportamento nel browser.
fixed usa normalmente il viewport come riferimento, ma alcuni antenati possono cambiare questo comportamento. Un elemento fisso può coprire contenuti quando la finestra è piccola. sticky conserva il proprio posto nel flusso e può aderire a un bordo del suo contenitore di scorrimento dopo una soglia, per esempio top: 0. Per osservarlo servono spazio di scorrimento e un contesto adatto; overflow degli antenati può cambiare quale contenitore è rilevante.
Scelte di utilizzo e limiti
Posizionamento assoluto: progetto e verifica.
z-index controlla l’ordine di impilamento nei contesti pertinenti. Può applicarsi agli elementi posizionati e, in condizioni previste, anche ai flex e grid item. Un valore enorme non permette a un figlio di uscire dal contesto di impilamento del genitore. Proprietà come transform e opacity inferiore a 1 possono creare nuovi contesti. Prima di aumentare z-index cerca quali antenati definiscano questi confini.
Esempio commentato
Posizionamento assoluto: 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 assoluto</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<article class="scheda">
<span class="etichetta">Novità</span>
<h1>Corso CSS</h1>
<p>Un’etichetta collocata dentro la scheda.</p>
</article>
</body>
</html>
File stile.css
.scheda {
position: relative;
padding: 3rem 1rem 1rem;
border: 1px solid #174a7e;
}
.etichetta {
position: absolute;
top: 0.5rem;
right: 0.5rem;
padding: 0.25rem 0.5rem;
background-color: #eef4fa;
}
Risultato nel browser
La scheda fornisce il riferimento. L’etichetta non occupa una riga nel flusso: il padding superiore riserva intenzionalmente spazio per evitare che copra il titolo.
| Proprietà | Valore nell’esempio | Significato |
|---|---|---|
position | relative | Modalità di posizionamento. |
padding | 3rem 1rem 1rem | Spazio interno fra contenuto e bordo. |
border | 1px solid #174a7e | Abbreviazione per spessore, stile e colore del bordo. |
top | 0.5rem | Offset superiore in un contesto di posizionamento pertinente. |
right | 0.5rem | Offset destro in un contesto di posizionamento pertinente. |
background-color | #eef4fa | Colore dello sfondo dell’elemento. |
LABORATORIO
Sperimentare: Posizionamento assoluto
La scheda fornisce il riferimento. L’etichetta non occupa una riga nel flusso: il padding superiore riserva intenzionalmente spazio per evitare che copra il titolo.
Obiettivo: Comprendere e applicare posizionamento assoluto 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
- 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: Rimuovi position: relative dalla scheda e osserva lo spostamento.
- 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.
Con la scheda posizionata l’etichetta segue il suo angolo. Senza quel riferimento può usare un altro contenitore, nel documento semplice il riferimento iniziale.
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 | Con la scheda posizionata l’etichetta segue il suo angolo. Senza quel riferimento può usare un altro contenitore, nel documento semplice il riferimento iniziale. |
| 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
Sposta l’etichetta in alto a sinistra senza cambiare l’HTML.
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.
.etichetta {
position: absolute;
top: 0.5rem;
left: 0.5rem;
right: 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
Posizionamento assoluto: interpretazione e applicazione.
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. Quale position rimuove la scatola dal normale flusso? ▾
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.