DIV centrato nella pagina
Sviluppo Siti lunedì 25 giugno 2007 alle 11:19Avevo ancora una scarsa conoscenza di CSS (in tutte le sue versioni) e litigavo continuamente cercando il modo di centrare correttamente un DIV all’interno della pagina. Poteva essere semplicemente un blocco per l’autenticazione o anche per la centratura orizzontale completa del sito in costruzione. Ora ho capito il meccanismo e le regole di CSS e il tutto risulta abbastanza intuitivo.
Metto a disposizione il codice per risolvere il problema per tutti coloro che, alle prime armi con CSS siano in cerca di risolvere questo dilemma…
Div centrato verticalmente ed orizzontalmente nella pagina
#container {
width: Xpx;
height: Ypx;
position: absolute;
top: 50%;
left: 50%;
margin-top: -(X/2)px;
margin-left: -(Y/2)px;
}
X è la larghezza del vostro DIV, mentre Y rappresenta l’altezza.
Una volta che avete creato il DIV con le prime tre (3) istruzioni, lo posizionate dal top e dal bordo sinistro della pagina (left) al 50% della finestra. Questo sposta il vertice alto/sinistro nell’esatto centro, posizionando così il blocco non esattamente nel centro, ma, appunto, sfasato sulla destra e sul fondo.
Regoliamo la posizione impostando un margine negativo al blocco per “tirarlo” a posto. Con una dimensione di X/2 (X mezzi) e Y/2 (Y mezzi), riusciamo così a farsi che il centro del nostro DIV sia esattamente al centro della nostra pagina.
E ora…continuate a divertirvi con i CSS!!!
29 febbraio 2008 alle 14:06
ERRORE!!!
margin-top: -(X/2)px;
margin-left: -(Y/2)px;
ESATTO…
margin-top: -(Y/2)px;
margin-left: -(X/2)px;
8 marzo 2008 alle 14:35
Effettivamente, scritto sovrappensiero errando le variabili del posizionamento! Grazie!
15 maggio 2008 alle 11:41
adesso comincio a masticarne di div :O) un’altra lacuna colmata…grazie
20 agosto 2008 alle 20:57
grazie mille
mi hai risparmiato una serata di scleri….
22 gennaio 2009 alle 16:42
Occhio però, le espressioni nei CSS non sono mai consigliabili. Vi invito a leggere questo paragrafo:
http://developer.yahoo.com/performance/rules.html#css_expressions
23 gennaio 2009 alle 1:09
Ma chiaramente io non parlavo di inserire le espressioni nel documento CSS, bensì i valori dimezzati. Insomma, se X valeva 50, al posto di (X/2) bisogna scrivere 25… Facile, no?
30 aprile 2010 alle 16:58
Grazie 1000 mi hai risparmiato un cazziatone infinito!!!
3 maggio 2010 alle 19:34
Bene, mi fa piacere!!!