CSS Fogli Di Stile

Posizionamento Relativo

Posizionamento relativo: teoria, esempi e sperimentazione nel browser.

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.

Idea chiave: Il secondo paragrafo si sposta visivamente, ma conserva il proprio spazio originario nel flusso.

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; }

Il secondo paragrafo si sposta visivamente, ma conserva il proprio spazio originario nel flusso.

ProprietàValore nell’esempioSignificato
positionrelativeModalità di posizionamento.
top12pxOffset superiore in un contesto di posizionamento pertinente.
left20pxOffset sinistro in un contesto di posizionamento pertinente.
background-color#eef4faColore dello sfondo dell’elemento.
Attenzione: relative non elimina la scatola dal flusso. Gli offset non sono un sostituto generale dei margini.

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

  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: Aumenta top a 40px e osserva il rapporto con il terzo paragrafo.
  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

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

ControlloCriterio
Effetto specificoPuò comparire una sovrapposizione perché il terzo non riserva spazio per lo spostamento visivo.
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 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.

Una possibile soluzione dell’esercizio
.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? ▾
Risposta: Sì. 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.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: Il secondo paragrafo si sposta visivamente, ma conserva il proprio spazio originario nel flusso.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Può comparire una sovrapposizione perché il terzo non riserva spazio per lo spostamento visivo.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: relative non elimina la scatola dal flusso. Gli offset non sono un sostituto generale dei margini.

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