Newsgroup: it.comp.lang.javascript
Titolo: Un po' [OT], IE5 position: absolute; e text-align: center;

Ciao sono Francesco,
[leggete almeno il P.S. per cortesia
se non vi interessa 'sto pacco]
Qualcuno puo' gentilmente spiegarmi perche' IE5 non centra
piu' (come invece accade con IE4 e NS4) gli elementi con i
seguenti attributi CSS:
DIV style="position: absolute; top: 45px; text-align: center;".../DIV
???
IE4 e NS4 centrano il DIV perfettamente, a meno che
non sia inserito "left: 140px;", che allora rende
ovviamente una centratura spostata di 140 pixel a destra.
IE5 invece posiziona l'elemento sul margine estremo sx,
se invece si inserisce "left: 140;" posiziona l'elemento
140 pixel a destra del margine sx, come se non esistesse
l'attributo "text-align: center;".
Ora io ho fatto una funzione con ".clientWidth"
e ".innerWidth" che centra l'elemento, ma preferisco
l'allineamento immediato dell'algoritmo interno al
browser, che visualizza immediatamente centrato
il DIV fin dal caricamento della pagina ed ad ogni
suo ridimensionamento.
<SCRIPT>
<!--
  if (document.all) { avW=document.body.clientWidth;
avH=document.body.clientHeight; }
  else if (document.layers) { avW=innerWidth; avH=innerHeight;
  }
  if (avW >= 800) {
//    subArea=avW - 140 /* il limite */ - 510 /* area DIV */;
    subArea=avW - 140 - 510;
    areaDisp=(subArea / 2) + 140; }
// etc...
  else { areaDisp=130; }
 // il valore di areaDisp viene poi associato
 // all'attributo "left" del DIV
// etc...
// -->
</SCRIPT>
Ma nel DIV ci sono oltre al testo molte immagini.
Quindi, nascondendo il DIV fino al suo riposizionamento,
sgradevole da vedere a mio avviso, la pagina ci mette una
trentina di secondi in piu' a caricarsi, in pratica
fino a quando le immagini non sono state scaricate
il DIV non viene visualizzato; pero' questa soluzione
che andava piu' o meno bene su tutti i browsers,
rendeva molto piu' lenta la consultazione della pagina.
Sono io che sto commettendo un errore oppure
IE5 non centra piu' gli elementi in posizione
assoluta?
Grazie comunque.
/**********\
|** P.S. **|
\**********/
Ehm... approfitto dell'occasione per scusarmi
delle 2 o 3 risposte che ho postato
sul NG nonostante le richieste originarie avessero gia'
avuto una risposta dai grandi esperti presenti su questo NG.
Purtroppo, non mi ero accorto che il news server del mio
provider scarica la meta' dei messaggi postati su
"it.comp.lang.javascript", e cosi' ho rischiato di
fare la figura del pirla (anzi l'ho fatta), chiedo venia...
Ora utilizzo il news server pubblico "
diesel.cu.mi.it
",
spero non mi faccia fare altre figure del c...
Infine, ne approfitto per ringraziare coloro che hanno risposto
alle mie precedenti richieste (le vedo solo ora),
non essendomi stato possibile farlo prima perche' BLA BLA BLA
(taglio perche' sono un pacco).
the RazoR EdgE (che cesso di nickname eh?).

DIV style="position: absolute; top: 45px; text-align: center;".../DIV
Semplice, perché íé 5 supporta i CSS meglio dei suoi predecessori :-)
Il comportamento di IE 5 é conforme alle specifiche.
Puoi sempre provare a posizionare i DIV usando un valore percentuale anziché
assoluto.
Spiacente di non poterti aiutare di piú.
----------------------------
Massimo Foti
massim...@tfc.ch
----------------------------
Dreamweaver's fan page
http://www.cybernet.ch/users/massimo/
It should be the hole in the ozone layer...
but I am not the programmer I used to be...

Ciao
prova con align : center
per nascondere un div o layer
usa il visibility:hidden..
poi quando vuoi fai un visibility=visible..
--
Bye
Ro<*¿*>berto

Grazie.
Grazie anche per l'ottimo consiglio fornitomi
da Ro<*¿*>berto sul NG webmaster
su come creare un CSS da JS.