Homepage -> Guida CSS (Fogli di Stile)
Abbiamo già visto nei capitoli precedenti come creare una cella allineata ad un paragrafo (vedi) o come sia possibile creare dei menù usando le proprietà delle tabelle (vedi) o del Tag DIV (vedi).
Il Tag DIV è molto usato per realizzare dei layer, il cui posizionamento è relativo al Tag contenitore, che a sua volta può essere il BODY oppure no.
È inoltre possibile inserire dei livelli annidati l'uno dentro l'altro; per ottenere ad esempio una struttura di pagina che si ridimensioni al variare della risoluzione dello schermo, basterebbe quindi definire un livello in posizione relativa nella pagina ( che si sposterà secondo il normale andamento del codice ), e al suo interno annidare poi uno o più livelli in posizione assoluta con le debite variazioni di posizionamento per ottenere la visualizzazione desiderata.
Ovvero: sapere come ciascuno dei blocchi che formano una pagina possa essere impostato secondo le sue principali proprietà: larghezza e altezza, margini e bordi, padding e colori di sfondo.
Il floating è un altro modo per definire la posizione di un elemento.
Cosa succede quando applico questa proprietà?
Semplificando, l'elemento viene rimosso dal normale flusso dei dati e viene portato all'estremità sinistra ( FLOAT: left; ) o a destra ( FLOAT: right; ) del suo box contenitore. Il testo eventualmente presente fuori dall'elemento scorre intorno ad esso. Ecco un esempio.
Un problema frequente in cui si imbattono i webmaster principianti è quello della risoluzione del monitor: di solito infatti incominciano a sviluppare il loro primo sito prendendo come riferimento soltanto la risoluzione del proprio monitor, il browser che stanno utilizzando in quel momento.
L'utente invece può avere una risoluzione del monitor ( 800x600, 1024x768, 1280x1024 ) che non rispetta minimamente la configurazione del monitor del webmaster; infine il browser o il sistema operativo possono essere i più svariati. Progettare per il web significa quindi tenere conto di tutti questi fattori: magari si può ignorarli ( volutamente ), ma bisogna sapere comunque che esistono.
Nel caso della risoluzione del monitor il webmaster ha sostanzialmente le seguenti possibili scelte di impaginazione:
Vediamo ora degli esempi, per illustrare la differenza tra tutti questi Layouts:

Supponiamo di voler realizzare una pagina simile a quella superiore, allora possiamo impostare le seguenti strutture di pagina:
| Allineare la pagina a sinistra esempio |
La pagina si vede a tutto schermo. | La pagina si vede allineata a sinistra con una colonna a destra vuota. |
| Allineare la pagina al centro esempio |
La pagina si vede a tutto schermo. | La pagina si vede allineata al centro con una colonna vuota sia destra e sia a a sinistra. |
| Impostare il 100% sia in altezza e sia in larghezza esempio |
La pagina si vede a tutto schermo. | La pagina si vede a tutto schermo. |
| Impostare il 100% solo in larghezza esempio |
La pagina si vede a tutto schermo, ma scrollabile verticalmente. | La pagina si vede a tutto schermo, ma scrollabile verticalmente. |
Quanto sopra mostrato, è stato realizzato tramite l'uso di Tabelle, ma un Layout può essere realizzato anche con il Tag DIV; è sufficiente infatti inserire un livello ( coincidente con un tag DIV )in posizione relativa nella pagina ( che si sposterà secondo il normale andamento del codice ), e al suo interno annidare poi uno o più livelli in posizione assoluta con le debite variazioni di posizionamento per ottenere la visualizzazione desiderata.
In questo modo faremo sì che i livelli mantengano una normale posizionamento all'interno della pagina ( evitando nel contempo le difficoltà che avremmo utilizzando il posizionamento relativo per ogni singolo livello ). Ad esempio con il seguente codice, otterrei il seguente esempio:
| <table style="width:100%; height:100px"> <tr> <td style="width:60%; border:1px solid red"></td> <td style="width:40%; border:1px solid red; vertical-align:top"> <div style="position:relative"> <span style="position:absolute; top:0; left:0; width:100px; z-index:2; background-color:blue"> primo livello </span> <span style="position:absolute; top:0; left:50px; padding-left:70px; width:250px; z-index:1; background-color:red"> secondo livello </span> </div> </div> </td> </tr> </table> |
Vediamo ora come realizzare i layout a 3 colonne con il Tag DIV:
| Allineare la pagina a sinistra esempio |
La pagina si vede a tutto schermo. | La pagina si vede allineata a sinistra con una colonna a destra vuota. |
| Allineare la pagina al centro esempio |
La pagina si vede a tutto schermo. | La pagina si vede allineata al centro con una colonna vuota sia destra e sia a a sinistra. |
La larghezza dei vari DIV può essere fissata anche in %, ottenendo così un layout perfettamente liquido con la risoluzione. Come avete potuto notare, l'altezza delle due colonne laterali è data dal loro contenuto; questo può creare un problema nel caso in cui il colore di sfondo della pagina sia diverso da quello delle due colonne e del Div contenuto. Per risolvere, quindi, tale problema in modo parziale, si può inserire un colore di sfondo al Body.
N.B: Per il div #testata/#banner, visto che l'elemento parente è body, la larghezza sarà sempre uguale a quella di quest'ultimo elemento. In pratica, usate width solo quando volete specificare una misura e ricordate che la larghezza massima di un elemento non può essere superiore a quella dell'elemento parente.
Vediamo ora come realizzare i layout a 2 colonne con il Tag DIV TOTALMENTE LIQUIDO:
| esempio | La pagina si vede a tutto schermo. | La pagina si vede a tutto schermo, poichè il DIV Contenuto si ridimensiona in base al suo contenuto e alla risoluzione stessa. |