Prerequisiti: Nascondere elementi: display, visibility e opacity.
Posizionamento relativo
Posizionamento relativo: fondamenti.
position: relative mantiene la scatola nel flusso e permette uno spostamento visivo tramite offset come top e left. Gli elementi successivi conservano la disposizione basata sulla posizione originale. Questo significa che lo spostamento può produrre sovrapposizioni: non è equivalente a creare nuovo spazio con margin.
Come funziona: posizionamento relativo
Posizionamento relativo: comportamento nel browser.
Un elemento relativo può anche fornire un contenitore di riferimento a figli posizionati in modo assoluto nel caso semplice. Spesso si usa relative senza offset proprio per questo motivo. Non serve necessariamente spostare il contenitore: dichiarare il posizionamento è già una scelta rilevante per i figli.
Scelte di utilizzo e limiti
Posizionamento relativo: progetto e verifica.
Usa gli offset per effetti limitati e motivati, non per correggere l’intero layout a tentativi. Se il contenuto cresce o cambia la finestra, una correzione visiva con top può non seguire il testo. Per disporre gruppi di componenti considera il flusso, Flexbox o Grid.
Esempio commentato
Posizionamento relativo: 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 relativo</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<p>Primo paragrafo.</p>
<p class="spostato">Paragrafo spostato.</p>
<p>Terzo paragrafo.</p>
</body>
</html>
File stile.css
.spostato { position: relative; top: 12px; left: 20px; background-color: #eef4fa; }
Risultato nel browser
Il secondo paragrafo si sposta visivamente, ma conserva il proprio spazio originario nel flusso.
| Proprietà | Valore nell’esempio | Significato |
|---|---|---|
position | relative | Modalità di posizionamento. |
top | 12px | Offset superiore in un contesto di posizionamento pertinente. |
left | 20px | Offset sinistro in un contesto di posizionamento pertinente. |
background-color | #eef4fa | Colore dello sfondo dell’elemento. |
LABORATORIO
Sperimentare: Posizionamento relativo
Il secondo paragrafo si sposta visivamente, ma conserva il proprio spazio originario nel flusso.
Obiettivo: Comprendere e applicare posizionamento relativo 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: Aumenta top a 40px e osserva il rapporto con il terzo paragrafo.
- 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.
Può comparire una sovrapposizione perché il terzo non riserva spazio per lo spostamento visivo.
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 | Può comparire una sovrapposizione perché il terzo non riserva spazio per lo spostamento visivo. |
| 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
Mantieni il posizionamento relativo senza spostare la scatola.
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.
.spostato { position: relative; top: auto; left: 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 relativo: interpretazione e applicazione.
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. position: relative conserva lo spazio originario? ▾
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.