Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Bug IE7 position absolute

    Ciao Ragazzi,
    provate un pò questo codice:

    /********************/
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css" media="screen">

    html {width:100%; height:100%; margin:0; padding:0;}
    body {width:100%; height:100%; margin:0; padding:0;}
    #menuServizio {position:absolute; top:0; width:50%; left:50%; height:113px; background-color:#00FF00;}

    </style>
    </head>
    <body>
    <div id="menuServizio"></div>
    </body>
    </html>
    /********************/

    e poi quest'altro:

    /********************/
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css" media="screen">

    html {width:100%; height:100%; margin:0; padding:0;}
    body {width:100%; height:100%; margin:0; padding:0;}
    #menuServizio {position:absolute; top:0; width:50%; right:0; height:113px; background-color:#00FF00;}

    </style>
    </head>
    <body>
    <div id="menuServizio"></div>
    </body>
    </html>
    /********************/

    Tutte e due dovrebbero comportarsi nello stesso modo.
    Invece IE7 nel primo caso fa comparire la barra di scroll. Non è strano?

    Simone
    http://www.evoluzionetelematica.it

  2. #2
    Per capire questo comportamento dobbiamo ricorrere alla logica umana e alla logica di IE: non sono la stessa cosa!
    supponiamo che lo schermo adotti una risoluzione di 1024x768.
    Supponiamo, quindi che il body occupi 1003 pixel quando aperto a tutto schermo.
    Il div avrà come larghezza 502 pixel (1003/2 arrotondato per eccesso), ma anche la sua posizione (left) sarà di 502 pixel!!!
    502+502=1004!!!
    Ora prova a modificare la larghezza dello schermo ridimensionando la finestra.
    Quando la divisione per 2 non dà resto la barra scompare!
    Difatti 1002/2=501 e 501+501=1002!

  3. #3
    Non potevi essere più chiaro...non ci avevo proprio pensato...
    http://www.evoluzionetelematica.it

  4. #4
    C'è una soluzione.
    Basta combatterlo con le sue stesse armi!
    codice:
    #menuServizio {position:absolute; top:0; width:50%; left:49.9%; height:113px; background-color:#00FF00;}

  5. #5
    Grazie x il supporto, mi sa che lo lascio morire nei suoi arrotondamenti ed opto per right=0
    http://www.evoluzionetelematica.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.