PDA

View Full Version : Porre un livello a centro pagina


Dantedelle
05-03-2007, 17:01
Ragazzi qualcuno sa dirmi come porre un livello, dove è contenuto un sito, a centro pagina...? a qualunque risoluzione...
Grazie

Leron
06-03-2007, 09:40
livello :confused:

Viperfish
06-03-2007, 09:40
non ho capito bene cosa intendevi fare, comunque questo è uno script che apre una div a centro pagina e la riposiziona quando ridimensioni il browser, è compatibile anche con firefox:


<html>
<head>
</head>
<body onload="showDiv();" onResize="window.location.href = window.location.href;">

<script language="JavaScript">
<!--
function showDiv()
{
if (navigator.appName.indexOf("Microsoft")!=-1) {
objDiv.style.top = document.body.clientHeight / 2 - 50;
objDiv.style.left = document.body.clientWidth / 2 - 50;
}else{
objDiv.style.top = window.innerHeight / 2 - 50;
objDiv.style.left = window.innerWidth / 2 - 50;
}
}
// -->
</script>

<div style="position:absolute; background-color: #dddddd; width: 100px; height: 100px; border: 2px #000000 solid" ID="objDiv">
FINESTRA
</div>

</body>
</html>


alle posizioni ricavate da javascript ho tolto 50 perchè la div è larga 100, ricordati solo di correggerlo se modifichi la dimensione della div ;)

Leron
06-03-2007, 10:02
non ho capito bene cosa intendevi fare, comunque questo è uno script che apre una div a centro pagina e la riposiziona quando ridimensioni il browser, è compatibile anche con firefox:


<html>
<head>
</head>
<body onload="showDiv();" onResize="window.location.href = window.location.href;">

<script language="JavaScript">
<!--
function showDiv()
{
if (navigator.appName.indexOf("Microsoft")!=-1) {
objDiv.style.top = document.body.clientHeight / 2 - 50;
objDiv.style.left = document.body.clientWidth / 2 - 50;
}else{
objDiv.style.top = window.innerHeight / 2 - 50;
objDiv.style.left = window.innerWidth / 2 - 50;
}
}
// -->
</script>

<div style="position:absolute; background-color: #dddddd; width: 100px; height: 100px; border: 2px #000000 solid" ID="objDiv">
FINESTRA
</div>

</body>
</html>


alle posizioni ricavate da javascript ho tolto 50 perchè la div è larga 100, ricordati solo di correggerlo se modifichi la dimensione della div ;)

perchè tutto quel casino con i javascript quando con un semplice

text-align:centrer nel css dato come proprietà al Body risolvi tutti i problemi? :D

se il problema è solo fare un div centrale bastava quello :D

Viperfish
06-03-2007, 10:15
perchè tutto quel casino con i javascript quando con un semplice

text-align:centrer nel css dato come proprietà al Body risolvi tutti i problemi? :D

se il problema è solo fare un div centrale bastava quello :D

perchè ha parlato di livello, insomma, dobbiamo capire che è sto livello! :D

Viperfish
06-03-2007, 13:35
perchè tutto quel casino con i javascript quando con un semplice

text-align:centrer nel css dato come proprietà al Body risolvi tutti i problemi? :D

se il problema è solo fare un div centrale bastava quello :D

mmm effettivamente c'è un metodo più semplice, una tabella con posizione assoluta che copre l'intera pagina e contiene al suo interno una div allineata al centro, in questo modo andrebbe a sovrapporsi al contenuto presente all'interno della pagina, comunque attendiamo delucidazioni su quello che si vuole ottenere realmente

<html>
<head>
</head>
<body>

<table style="position:absolute; top: 0px; left: 0px" width="100%" height="100%">
<tr>
<td align="center" valign="middle">
<div style="background-color: #dddddd; width: 100px; height: 100px; border: 2px #000000 solid">
FINESTRA
</div>
</td>
</tr>
</table>

</body>
</html>

Leron
06-03-2007, 14:12
mmm effettivamente c'è un metodo più semplice, una tabella con posizione assoluta che copre l'intera pagina e contiene al suo interno una div allineata al centro, in questo modo andrebbe a sovrapporsi al contenuto presente all'interno della pagina, comunque attendiamo delucidazioni su quello che si vuole ottenere realmente

<html>
<head>
</head>
<body>

<table style="position:absolute; top: 0px; left: 0px" width="100%" height="100%">
<tr>
<td align="center" valign="middle">
<div style="background-color: #dddddd; width: 100px; height: 100px; border: 2px #000000 solid">
FINESTRA
</div>
</td>
</tr>
</table>

</body>
</html>


PESSIMA soluzione, soprattutto sintatticamente è un obrobrio usare una tabella per contenere un div, va contro tutte le raccomandazioni possibili :Puke:

poi scusa a che scopo usare una tabellaccia e fare tutti quei casini :D quando semplicemente con un misero margin auto :D


div#nomedeldiv {

margin: 0 auto 0 auto;

}

fai la stessa identica cosa restando negli standard e nelle raccomandazioni



vedere per credere, tiè :D
http://www.zambotti.it/asd.html

più facile di così... :D vi complicate la vita per niente :D

Viperfish
06-03-2007, 14:24
PESSIMA soluzione, soprattutto sintatticamente è un obrobrio usare una tabella per contenere un div, va contro tutte le raccomandazioni possibili :Puke:

poi scusa a che scopo usare una tabellaccia e fare tutti quei casini :D quando semplicemente con un misero text-align nel css


body {
text-align: center;
}

fai la stessa identica cosa restando negli standard e nelle raccomandazioni



vedere per credere, tiè :D
www.zambotti.it

tutto il sito sta nel div generale, che proprio per l'attributo center assegnato al body si posiziona in maniera centrale

più facile di così... :D vi complicate la vita per niente :D


ok a mettere una div centrale è semplicissimo, ma io ho inteso come "livello" una div sovrapposta al testo in stile banner pubblicitario, forse ho troppa fantasia :D

Leron
06-03-2007, 14:32
ok a mettere una div centrale è semplicissimo, ma io ho inteso come "livello" una div sovrapposta al testo in stile banner pubblicitario, forse ho troppa fantasia :D

che significa "un div sovrapposto al testo" ?:mbe:

Viperfish
06-03-2007, 14:44
che significa "un div sovrapposto al testo" ?:mbe:

questo http://futurefog.altervista.org/ale/test.htm

Leron
06-03-2007, 14:46
questo http://futurefog.altervista.org/ale/test.htm

e il senso di sta cosa, a parte far infuriare gli utenti come dei dannati? :D

cmq per quello la soluzione migliore è usare flash, almeno gli fai sopra un'animazione