Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile
Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile

Guide per aspiranti programmatori

Lezione 26 / 30

Position CSS

La proprietà position all’interno del linguaggio CSS serve per modificare il posizionamento di un elemento nella nostra pagina web; tuttavia, da sola non basta a raggiungere l’obiettivo: pertanto, viene utilizzata con altre proprietà direzionali : top,right,bottom,left e z-index

In totale, la proprietà position ha 5 possibili valori: 

  • static: ogni elemento ha una posizione statica per impostazione predefinita (si tratta, quindi, del valore di default). L’elemento, dunque, si atterrà al normale flusso della pagina: se è stato impostato un indice di posizione a sinistra/destra/alto/basso/z, non ci sarà alcun effetto su quell’elemento. Perchè la posizione cambi il valore va cambiato.
  • relative: la posizione originale di un elemento rimane nel flusso del documento, proprio come il valore statico. Ma ora gli indici left/right/top/bottom/z-index  funzioneranno. Le proprietà posizionali “spostano” l’elemento dalla posizione originale in quella direzione, lasciando, però, la posizione originale occupata e sovrapponendolo agli altri elementi della pagina.
  • absolute: l’elemento viene rimosso dal flusso del documento e viene riposizionato secondo ordini. Gli altri elementi si comporteranno come se, nello spazio d’origine, l’elemento non ci fosse più, mentre tutte le altre proprietà posizionali funzioneranno su di esso.
  • fixed: l’elemento viene rimosso dal flusso del documento come gli elementi posizionati in modo absolute. In realtà si comportano quasi allo stesso modo, ad esclusione del fatto che gli elementi posizionati in modo fixed sono sempre relativi alla finestra del browser, non a un particolare genitore, e non sono influenzati dallo scorrimento. Per intenderci, rimangono “fissi” – appunto – nella posizione che gli diamo.
  • sticky: l’elemento viene trattato come nel caso del valore “relative”, finché la posizione di scorrimento della finestra di visualizzazione non raggiunge una soglia specificata; a quel punto, l’elemento assume una posizione fissa in cui gli viene detto di rimanere.

Confuso? Non preoccuparti! Vediamo degli esempi pratici per schiarirti le idee.

CSS Position Relative

CSS:

.element {
position: relative;
top: 20px;
}

HTML:

<h1 class=”element”>Corso di coding </h1>
<h2>Come diventare uno sviluppatore web </h2>

Rispetto alla sua posizione originale, l’elemento sopra sarà ora spostato in basso di 20px. 
Possiamo notare come il titolo, adesso, si sia sovrapposto al sottotitolo e, soprattutto, lo spazio originariamente occupato dal titolo sia rimasto occupato.

CSS Position Absolute

 

Struttura HTML:

<div class="parent">
 Elemento Padre
 <div class="element">Elemento Figlio </div>
</div>

CSS:

.element {
position: absolute;
left: 0;
right: 0;
bottom: 0;
}

Se un elemento figlio ha un valore assoluto, l’elemento genitore si comporterà come se il figlio non ci fosse affatto.
Quando cerchiamo di impostare altri valori come “left”, “bottom” e “right”, scopriremo che l’elemento figlio non risponde alle dimensioni del suo genitore, ma a quelle del documento.
Per fare in modo che l’elemento figlio sia posizionato in modo assoluto rispetto all’elemento genitore, dobbiamo impostare la position dell’elemento padre in modo tale che sia diversa da static: 

.parent {
position: relative;
}

Proprietà come left, right, bottom e top si riferiscono, adesso, all’elemento genitore, per cui ora vedremo l’elemento figlio posizionato proprio alla base dell’elemento genitore.
Proviamo a dargli uno stile: 

.parent {
color: white;
padding: 70px;
position: relative;
background-color: #0074d9;
}

.element {
background-color: rgba(0,0,0,.3);
padding: 20px;
color: rgba(255,255,255,.4);
position: absolute;
bottom: 0;
left: 0;
right: 0;
}

Come puoi vedere provando questo codice, tutto quello che ti abbiamo illustrato è stato effettivamente realizzato.

CSS Position Fixed

Il valore “fixed” è simile a quello “absolute”, in quanto può aiutare a posizionare un elemento in qualsiasi punto relativo alla finestra: infatti, l’elemento con position fixed non è influenzato dallo scorrimento della pagina. 
Un esempio classico di elemento con position fixed è la navbar che scorre con la pagina, o il classico bottone della chat posizionato in basso a destra nella pagina.

L’HTML:

<div class="navbar">Navbar</div>

Il CSS:

.navbar {
background-color: #40a6ff;
padding: 20px;
color: rgba(255,255,255,0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
}

CSS Position Sticky

Il valore “sticky” è un compromesso tra i valori “relative” e “fixed”. 
Che cosa fa? Permette di posizionare un elemento rispetto a qualsiasi punto del documento e poi, una volta che l’utente ha superato un certo punto della finestra, di fissare la posizione dell’elemento in modo che rimanga visualizzato in modo persistente come un elemento con una position fixed.

Vediamo un esempio.

La struttura HTML:

<header>
<h1>Products</h1>
</header>

<nav class="nav-sticky">
<ul>
<li><a href="#hoses">Hoses</a></li>
<li><a href="#rakes">Rakes</a></li>
<li><a href="#shovels">Shovels</a></li>
</ul>
</nav>

<article>
Lorem ipsum dolor sit amet…
</article>

Il CSS:

header {
background: hotpink;
color: #fff;
display: flex;
height: 70vh;
justify-content: center;
align-items: center;
}

.nav-sticky {
position: sticky;
top: 0px;
z-index: 1000;
}

article {
background-color : pink;
font-size: 2rem;
height: 200vh;
}

Nell’ esempio, l’elemento sarà posizionato relativamente fino a quando la posizione di scorrimento della finestra di visualizzazione raggiungerà un punto in cui l’elemento si troverà a 50px dalla parte superiore della finestra di visualizzazione. A quel punto, l’elemento diventa “appiccicoso” e rimane in una posizione fissa a 50px dalla parte superiore dello schermo.

 

Z Index CSS

 

Sbizzarrendoci con le varie position, potremmo incorrere in qualche problema di sovrapposizione degli elementi. Per risolvere questi problemi dobbiamo utilizzare la proprietà z-index che modifica la posizione sull’asse z, ovvero la profondità.
Negli esempi precedenti abbiamo, infatti, inserito nelle nostre navbar la proprietà z-index  con valore di 1000 in modo tale che nessun altro elemento si sovrapponesse alla nostra navbar. Uno z-index maggiore, implicherà che il nostro elemento risulti in primo piano rispetto ad uno con z-index minore, che risulterà sottostante.

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.