Mentre per allineare orizzontalmente ci sono varie tecniche, una delle quali funziona anche con elementi posizionati in modo statico (quello default), per la centratura verticale e` necessario un posizionamento assoluto o relativo; occorre anche conoscere a priori l'altezza del blocco da centrare:
codice:
#centratoVert {
position: relative; /* implica che anche i blocchi che lo contengono sono posizionati */
display: block; /* altrimenti non puo` avere posizionamento */
height: xxxuu; /* altezza e unita` di misura
top: 50%;
margin-top: -yyyuu; /* yyy e` meta` di xxx */
}
In pratica il blocco viene spostato in basso del 50% del contenitore e poi spostato in alto tramite il margine di meta` della sua altezza.
Per poter funzionare il blocco contenitore deve avere posizionamento (assoluto o relativo), non deve essere float e deve avere una altezza definita.
Per posizionare un blocco in fondo alla finestra, occorre che sia posizionato (assoluto o relativo); poi basta dargli bottom:0;. Valgono le stesse limitazioni per il blocco contenitore.
ATTENZIONE:
Se i vari blocchi non ci stanno in verticale (non e` dato conoscere l'altezza del brwoser), questa tecnica fallisce e la pagina si presenta in maniera assurda (con sovrapposizioni di blocchi o pezzi invisibili). Quindi occorre usarla SOLO se si sa bene cosa si sta facendo.
PS: NON ho controllato i link proposti e non entro nel merito dell'uso semantico dei tag, in cui Yoghi ha ragione.