CodeGym /Corso Java /Frontend SELF IT /Posizionamento relativo

Posizionamento relativo

Frontend SELF IT
Livello 21 , Lezione 2
Disponibile

3.1 position: relative

Il posizionamento relativo in CSS permette agli elementi di spostarsi rispetto alla loro posizione originale nel flusso del documento. Quando usi position: relative, l'elemento mantiene il suo posto nel flusso normale, ma può essere spostato usando le proprietà top, right, bottom e left. Queste proprietà permettono di spostare l'elemento rispetto alla sua normale posizione.

Principi fondamentali del posizionamento relativo

Nel posizionamento relativo (position: relative) l'elemento si sposta dalla sua posizione originale nel flusso del documento. Questo spostamento influenza solo l'elemento stesso, mentre gli altri elementi rimangono al loro posto, come se l'elemento non fosse stato spostato. Questo permette di creare effetti in cui gli elementi si sovrappongono o creano spazi visivi aggiuntivi.

Sintassi:

    
      .element {
        position: relative;
        top: value;
        right: value;
        bottom: value;
        left: value;
      }
    
  

Dove:

  • top: sposta l'elemento verso il basso rispetto alla sua posizione normale
  • right: sposta l'elemento verso sinistra rispetto alla sua posizione normale
  • bottom: sposta l'elemento verso l'alto rispetto alla sua posizione normale
  • left: sposta l'elemento verso destra rispetto alla sua posizione normale
  • <valore>: può essere qualsiasi valore di lunghezza valido in CSS (px, %, em, ecc.)

3.2 Proprietà top

La proprietà top sposta l'elemento verso il basso rispetto alla sua posizione originale.

Esempio di utilizzo di top:

CSS
    
      .relative-top {
        position: relative;
        top: 20px; /* Sposta l'elemento verso il basso di 20 pixel */
      }
    
  

Esempio di utilizzo:

CSS
    
      .container {
        min-height: 200px;
      }

      .box {
        padding: 20px;
      }

      .static-box {
        background-color: lightgray;
      }

      .relative-top {
        position: relative;
        top: 20px;
        background-color: lightblue;
      }
    
  
HTML
    
      <div class="container">
        <div class="box static-box">Questo è un blocco normale</div>
        <div class="box relative-top">Questo blocco sarà spostato verso il basso di 20px.</div>
        <div class="box static-box">Questo è un blocco normale</div>
      </div>
    
  

3.3 Proprietà right

La proprietà right sposta l'elemento verso sinistra rispetto alla sua posizione originale.

Esempio di utilizzo di right:

CSS
    
      .relative-right {
        position: relative;
        right: 20px; /* Sposta l'elemento verso sinistra di 20 pixel */
      }
    
  

Esempio di utilizzo:

CSS
    
      .container {
        min-height: 200px;
      }

      .box {
        padding: 20px;
      }

      .static-box {
        background-color: lightgray;
      }

      .relative-right {
        position: relative;
        right: 20px;
        background-color: lightgreen;
        padding: 20px;
      }
    
  
HTML
    
      <div class="container">
        <div class="box static-box">Questo è un blocco normale</div>
        <div class="box relative-right">Questo blocco sarà spostato verso sinistra di 20px.</div>
        <div class="box static-box">Questo è un blocco normale</div>
      </div>
    
  

3.4 Proprietà bottom

La proprietà bottom sposta l'elemento verso l'alto rispetto alla sua posizione originale.

Esempio di utilizzo di bottom:

CSS
    
      .relative-bottom {
        position: relative;
        bottom: 20px; /* Sposta l'elemento verso l'alto di 20 pixel */
      }
    
  

Esempio di utilizzo:

CSS
    
      .container {
        min-height: 200px;
      }

      .box {
        padding: 20px;
      }

      .static-box {
        background-color: lightgray;
      }

      .relative-bottom {
        position: relative;
        bottom: 20px;
        background-color: lightcoral;
        padding: 20px;
      }
    
  
HTML
    
      <div class="container">
        <div class="box static-box">Questo è un blocco normale</div>
        <div class="box relative-bottom">Questo blocco sarà spostato verso l'alto di 20px.</div>
        <div class="box static-box">Questo è un blocco normale</div>
      </div>
    
  

3.5 Proprietà left

La proprietà left sposta l'elemento verso destra rispetto alla sua posizione originale.

Esempio di utilizzo di left:

CSS
    
      .relative-left {
        position: relative;
        left: 20px; /* Sposta l'elemento verso destra di 20 pixel */
      }
    
  

Esempio di utilizzo:

CSS
    
      .container {
        min-height: 200px;
      }

      .box {
        padding: 20px;
      }

      .static-box {
        background-color: lightgray;
      }

      .relative-left {
        position: relative;
        left: 20px;
        background-color: lightgoldenrodyellow;
        padding: 20px;
      }
    
  
HTML
    
      <div class="container">
        <div class="box static-box">Questo è un blocco normale</div>
        <div class="box relative-left">Questo blocco sarà spostato verso destra di 20px.</div>
        <div class="box static-box">Questo è un blocco normale</div>
      </div>
    
  

3.6 Interazione con elementi adiacenti

Gli elementi con position: relative restano nel normale flusso del documento, il che significa che occupano ancora lo spazio che occuperebbero se non fossero stati spostati. Questo permette di spostare gli elementi senza cambiare la disposizione degli altri elementi sulla pagina.

Esempio di utilizzo:

CSS
    
      .container {
        border: 2px solid #000;
        padding: 10px;
      }

      .box {
        position: relative;
        background-color: #e74c3c;
        color: white;
        padding: 20px;
        margin: 10px;
        width: 200px;
      }

      .box1 {
        top: 20px;
      }

      .box2 {
        left: 20px;
      }
    
  
HTML
    
      <div class="container">
        <div class="box box1">Elemento 1 (spostato verso il basso)</div>
        <div class="box box2">Elemento 2 (spostato verso destra)</div>
        <div class="box">Elemento 3 (posizione normale)</div>
      </div>
    
  

Spiegazione del codice:

  • .box1: l'elemento è spostato verso il basso di 20 pixel, ma il suo posto nel flusso normale rimane, il che significa che altri elementi saranno posizionati rispetto alla sua posizione originale
  • .box2: l'elemento è spostato verso destra di 20 pixel, ma il suo posto nel flusso normale rimane
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION