div centrato rispetto risoluzione

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
mi spiace e sono estremanete contrito, ma sembra che i bachi li trovi tutti io (o forse si tratta di mia incapacità)

sto parlando del tutorial Centrare un layer rispetto alla risoluzione

prima ho fatto un mio div con le mie misure e vi ho insrito una foto, il div viene posizionato con l'angolo in alto a Sx al CENTRO del monitor. Pensando di aver fatto un errore ho fatto copy and paste su una pagina hto del tutorial

il div appare come sopra sia su IE che su FF. Non capisco dove sbaglio o dove è sbagliato:confused:


-----------------------------------------------------
divCntrato.jpg
 
Ultima modifica:
Ciao,

da l'immagine sembra che le margine left e top non sono state tolte.

Dovrebbe avere per il tuo div:

Codice:
position: absolute;
width: /*larghezza in px del div*/;
height: /*altezza in px del div*/;
top: 50%;
left: 50%;
margin-left: - /*meta larghezza div in px*/;
margin-top: - /*meta altezza div in px*/;

Esempio:
Codice:
#mydiv{
position: absolute;
width: 500px;
height: 300px;
top: 50%;
left: 50%;
margin-left: - 250px;
margin-top: -150px;
}

Se non va, sarebbe da vedere il resto del html/ccs usato.:)
 
questo è il codice completo che ho utilizzato per una pagina di prova contenente solo il div il risultato è quello della fot inviata (angolo div alto a Sx centrato sullo schermo)

Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<style type="text/css">
body {
margin: 0px;
height: 100%;
}
div.LayerCentrato {
text-align: Center;
background-color: #EEEEEE;
color: #192939;
position: Absolute;
top: 50%;
left: 50%;
font-size: 12px;
font-family: Verdana;
font-weight: Bold;
width: 350px;
height: 200px;
border: Solid 1px #CCCCCC;
margin: -100px, -175px;
}
</style>

</head>

<body>
<div class="LayerCentrato">Esempio di Layer Html centrato!!!</div>
</body>
</html>

come vedi nella pagina non c'è altro è un copia incolla del tutorial accennato, anche adesso ho totato che c'è una differenza con quello postato da onsitus

margin-left: - 250px;
margin-top: -150px;

e quello del tutorial

margin: -100px, -175px;
 
Ultima modifica:
ok...
1. position: Absolute; absolute senza la A maiuscolo...sara pure un dettaglio
2. dal tutorial (che sinceramente non ho guardato...scusa)
margin: -100px, -175px;
Quello ti fa -100px di margine superiore/inferiore poi -175px di margine destra/sinistra
Invece se hai un div a dimensione fissa, devi togliere solo il margine a sinistra ed in alto.
Con la posizione 'absolute' e il top/left a 50%, ti centra il div da l'angolo sinistro in alto, di la il punto di poi togliere meta altezza/larghezza del div stesso con l'uso delle margine per centrare il tutto.
Esempio online con un div con una foto come contenuto:
http://www.onsitus.it/cssdesign/esempio/1.centrare-contenuto-orizzontale-vertcale.html
Basta guardare il sorgente della pagina per capire il tutto (sperando che non vado contro regole del forum - anche quelle non le ho guardate - lascio i mod di questa sezione intervenire se necessario)

PS: dal codice postato, direi di cambiare:
margin: -100px, -175px;
per:
margin-left: - 100px;
margin-top: -175px;
Aggiungi pure width: 100% in body
riguardo il text-align non sono sicura. Dipende di quello che vuoi fare. Boh... Piu facile da capire con un esempio online
 

Discussioni simili