![]() |
![]() Il sito per imparare gratuitamente a fare pagine web. |
|
Guida CSS Fogli di stile - Ver. 4.1.3 - Ottobre 2008 Ver. 1.0 - Novembre 1999
Posizionare il Box Model. blocco 1 inserito nel normale flusso
blocco 2 inserito subito dopo l'istruzione per il blocco 1
blocco 3 inserito subito dopo l'istruzione per il blocco 2
Notate come i blocchi inseriti nella pagina seguono il flusso naturale del codice disponendosi verticalmente pur non avendo inserito alcun ritorno a capo, questo perchè il tag <div>, così come tutti gli elementi di blocco, ne provoca automaticamente un ritorno a capo. blocco 1 con margin inserito nel normale flusso
blocco 2 con margin inserito subito dopo l'istruzione per il blocco 1
blocco 3 con margin inserito subito dopo l'istruzione per il blocco 2
questo il codice per definirlo nel foglio di style CSS.
#box1 {
width: 400px;
height: 20px;
border: solid 1px;
margin: 5px;
color: black;
background-color: #ffff99;
}
Il codice si riferisce al box1 ma la definizione per gli altri due box è praticamente la stessa, varia soltanto per il nome: #box2 e #box3 ed il relativo colore di sfondo: background-color. blocco 1 con margin auto inserito nel normale flusso
Da notare che per avere un bordo nel foglio di style non basta specificare il solo spessore (1px), si deve specificare anche un possibile attributo che identifica il tipo di bordo usato, in questo caso solid, diversamente il bordo non risulterà visibile. <div id="box1">blocco 1 con margin inserito... </div> <div id="box2">blocco 2 con margin inserito... </div> <div id="box3">blocco 3 con margin inserito... </div> Quando il contenuto del box supera le sue dimensioni, per esempio inserendo un'immagine più larga del box definito, si hanno comportamenti differenti a seconda del tipo di browser, tanto per cambiare, dove ognuno di questi interpreta a modo suo. Alcuni allargano il box per adattarlo alla dimensione del suo contenuto, altri fanno uscire l'immagine dal box. ![]() overflow visible: predefinito, interpretato in modo differente dai vari browser. ![]() overflow hidden: nascondi le barre e taglia l'immagine alle dimensioni del blocco. ![]() overflow auto: taglia l'immagine ed inserisci soltanto le barre di scorrimento necessarie. ![]() overflow scroll: taglia l'immagine ed inserisci entrambe le barre di scorrimento anche se non necessarie. relative è il posizionamento modificato rispetto alla posizione predefinita, praticamente un offset che consente di spostare il box rispetto alla sua naturale origine, senza che questo spostamento incida o alteri il posizionamento degli altri elementi (oggetti) facenti parte della stessa pagina. blocco 1 con margin inserito nel normale flusso
blocco 2 position relative 12px top e 20px left
blocco 3 con margin inserito subito dopo l'istruzione per il blocco 2
Notate come il blocco 2 sia spostato di 12 pixel a partire dall'alto e di 20 pixel a partire dalla sinistra rispetto alla sua posizione naturale, senza che gli altri due box subiscano alcuna variazione di posizione. Questo perché position relative agisce solo sul box che ne fa uso senza alterare il normale flusso.
#box2 {
position: relative;
top: 12px;
left: 20px;
width: 450px;
height: 20px;
border: solid 1px;
margin: 5px;
color: black;
background-color: #ffccff;
}
In questo esempio il blocco 2 risulta sovrapposto al blocco 3 oscurandolo in parte, è possibile stabilire l'ordine di sovrapposizione con la proprietà z-index che accetta solo valori numerici positivi, il numero più alto è quello in primo piano e copre il numero più basso. blocco 1 con margin inserito nel normale flusso
blocco 2 position relative 12 px top e 20 px left
blocco 3 con z-index 1 superiore al blocco 2
Adesso è il blocco 3 che risulta sovrapposto al blocco 2 perchè ha un valore z-index di 1 che è superiore al valore dello z-index 0 (di default è impostato a 0) del blocco 2.
#box3 {
position: relative;
z-index: 1;
width: 450px;
height: 20px;
border: solid 1px;
margin: 5px;
color: black;
background-color: #ccffff;
}
absolute è il posizionamento assoluto, cioè è possibile posizionare il blocco in un qualsiasi punto della pagina, a differenza del posizionamento relativo che abbiamo visto non alterava gli altri oggetti pur condizionandoli con la sua presenza, absolute farà in modo che il blocco così definito risulti come se non facesse parte della pagina, praticamente non inciderà in alcun modo con gli altri oggetti, una specie di sovrapposizione alla pagina stessa. |
||
Andrea Bianchi |
||