Il Box Div - EINAUDI

Transcript

Il Box Div - EINAUDI
Il Box Div
E’ consigliabile creare dei Box Div con posizionamento assoluto per garantire maggiore compatibilità tra i
principali browser.
Esempio:
top
width
left
right
height
bottom
La coppia di coordinate per posizionare il Div si riferisce sempre al div di livello superiore.
Il corrispondente CSS di un div sarà:
div#esempio{
position: absolute;
top: 106px;
left: 300px;
width: 664px;
height: 800px;
background-color: #1d1d1d;
background: url(immagine.jpg)
}
esempio= Nome del Div
posizionamento assoluto (metterlo sempre)
distanza dal bordo superiore espressa in pixel
distanza dal bordo sinistro espresso in pixel
larghezza del Box espresso in pixel
altezza del box espresso in pixel
eventuale colore di sfondo
eventuale imagine di sfondo
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 1
CSS POSITION: posizione d’un elemento in modo statico, assoluto, relativo e fisso
La proprietà css position con i suoi valori static, absolute, relative e fixed permette di posizionare un
elemento in relazione ad un altro elemento o allo corpo stesso della pagina.
Con l’uso di semplici esempi online, vedremo la proprietà CSS position, l’applicazione di questi 4 differenti
valori con l’uso delle dichiarazione top (alto), bottom (basso), left (sinistra) e right (destra) per posizionare
più precisamente l’elemento con unità di misure o percentuale.
Per iniziare, vediamo quale sarebbe il flusso normale della pagina con l’uso di 3 div a bordi colorati:



uno giallo (‘yellow’)
uno rosso (‘red’) a quale, di seguito, impostiamo le diverse valore della proprietà position
uno nero (‘black’) che servirà di div ‘contenitore’ a ‘red’
L’HTML e CSS di base:
<div style="width:300px; height: 100px; border: 1px solid yellow;">
</div>
<div style="width:300px; height: 300px; border: 1px solid black;">
<div style="width:200px; height: 200px; border: 1px solid red;">
</div>
</div>
Il risultato:
Yellow
red
black
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 2
1. position: static;
Il valore static (statico) è il valore di default e sarebbe uguale alla posizione dell’elemento nell’esempio del
flusso normale. L’elemento ‘statico’ non può essere mosso della sua posizione e ignora le dichiarazioni
top, bottom, left e right.
2. position: absolute;
Il valore absolute (assoluto) permette di rimuovere l’elemento del flusso normale della pagina per poterlo
posizionare con le dichiarazioni top, bottom, left e right in unità di misura.
L’elemento assoluto è posizionato in rapporto al suo div ‘contenitore’ solo se lui stesso ha la sua proprietà
position impostata con un valore diverso da ‘static’.
Esempio 1 position absolute:
‘red’ con position: absolute; top: 0; right: 50px; contenuto in ‘black’ senza posizione specificata.
position:absolute; top:0; right:50px;
<div style="width:300px; height: 100px; border: 1px solid yellow;">
</div>
<div style="width:300px; height: 300px; border: 1px solid black;">
<div style="position: absolute; top:0px; right:50px; width:200px; height: 200px; border: 1px solid red;">
</div>
</div>
yellow
red
black
L’elemento ‘red’ è tolto del flusso naturale e si posiziona in alto a 50px a destra in base alla finestra del
browser. (guardate in alto a destra di questa pagina).
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 3
Il risultato sarebbe lo stesso anche se div ‘red’ non fosse contenuto in div ‘black’, visto che non abbiamo
specificato una posizione a ‘black’ che per default ha posizione ‘static’.
Esempio 2 position absolute:
‘red’ con position: absolute; top: 50px; left: 10px; contenuto in ‘black’ con position: relative;.
position:absolute; top:50px; left:10px;
position:relative;
<div style="width:300px; height: 100px; border: 1px solid yellow;">
</div>
<div style="position: relative; width:300px; height: 300px; border: 1px solid black;">
<div style="position: absolute; top:50px; left:10px; width:200px; height: 200px; border: 1px solid red;">
</div>
</div>
yellow
red
black
Questa volta, l’elemento ‘red’ si posiziona a 50px in alto e 10px a sinistra in base al suo div contenitore
‘black’ visto che, per questo esempio, abbiamo specificato una posizione relative a ‘black’.
3. position: relative;
Il valore relative (relativo) permette di posizionare l’elemento in base al suo div ‘contenitore’.
Contrariamente alla posizione assoluta, le dichiarazione top, bottom, left e right non rappresentano punti
fissi di posizionamento ma sono basate sulla posizione naturale dell’elemento.
Esempio 1 position relative:
‘red’ con position: relative; top: 20px; left: 20px; contenuto in ‘black’.
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 4
position: relative; top:20px; left:20px;
<div style="width:300px; height: 100px; border: 1px solid yellow;">
</div>
<div style=" width:300px; height: 300px; border: 1px solid black;">
<div style="position: relative; top:20px; left:20px; width:200px; height: 200px; border: 1px solid red;">
</div>
</div>
yellow
red
black
L’elemento ‘red’ si sposta verso il basso a sinistra aggiungendo 20px alla posizione iniziale delle sue parte
superiore e sinistra.
4. position: fixed;
NB: NON SUPPORTATO DA INTERNET EXPLORER 6 E INFERIORE. Per IE7, usare il doctype corretto.
Come per la posizione assoluta, il valore fixed (fisso) permette di rimuovere l’elemento del flusso normale
della pagina per poterlo posizionare con le dichiarazioni top, bottom, left e right.
La differenza tra di loro è che l’elemento fisso si posiziona sempre in base a l’elemento HTML (l’area visiva
della finestra del browser) in alto a sinistra e mai ad un suo eventuale elemento ‘contenitore’.
Essendo fisso, questo elemento rimarrà sempre alla sua posizione anche se il resto della pagina è
scorrevole.
Un elemento ‘fixed’ può essere riposizionato usando top, bottom, left, right (come per ‘absolute’)
ricordandosi che sarà sempre in relazione alla finestra browser.
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 5
Esempio 1 position fixed:
‘red’ con position: fixed; top: 20px; left: 0; contenuto in ‘black’.
position:fixed;top:20px;left:0;
<div style="width:300px; height: 100px; border: 1px solid yellow;">
</div>
<div style=" width:300px; height: 300px; border: 1px solid black;">
<div style="position: fixed; top:20px; left:0px; width:200px; height: 200px; border: 1px solid red;">
</div>
</div>
red
yellow
black
L’elemento ‘red’ è tolto del flusso naturale della pagina e si posiziona a 20px in alto a sinistra in base alla
finestra del browser.
Il risultato sarebbe stato lo stesso anche se div ‘red’ non era contenuto in div ‘black’, visto che è sempre
posizionato in base alle misure della finestra del browser.
Esempio 2 position fixed:
Per questo secondo esempio, tolgo ‘red’ con position: fixed; bottom: 0; left: 0; del suo div contenitore
‘black’.
L’HTML e CSS usato:
< div style="width:300px;height:100px;border:1px solid yellow;"></div>
< div style="width:300px;height: 300px;border: 1px solid black;"></div>
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 6
< div style="width:200px; height: 200px; border: 1px solid red; position:fixed; bottom:0;
left:0;">position:fixed;bottom:0;right:0;</div>
Il risultato:
yellow
black
red
L’elemento ‘red’ è tolto del flusso naturale della pagina e si posiziona in basso a sinistra in base alla finestra
del browser e rimane in una posizione fissa anche quando il resto del corpo della pagine è ‘scrollata’.
http://css.flepstudio.org/css-proprieta/position.html
http://www.yourinspirationweb.com/2010/03/09/css-come-utilizzare-la-proprieta-position-absolute/
CSS position: posizione d’un elemento in modo statico, assoluto, relativo e fisso
Pag. 7