[résolu] CSS : position fixed et IE6

WRInaute accro
Bon, j'ai d'abord posté mon message sur alsacreations ( http://forum.alsacreations.com/topic-5- ... t-IE6.html ) mais peut-être qu'ici, on pourra m'aider donc voila :

J'ai une boite que j'affiche ou non au milieu de ma fenêtre. Je l'ais donc mise en position : fixed pour que lorsqu'on scroll la fenêtre, la boite scroll avec. Tout fonctionne très bien sous Firefox et IE7.

Seulement sous IE6, la position: fixed n'existe pas... J'ai donc utiliser un hack qui la transforme en absolute. Seulement, même si j'ouvre cette boite depuis le fin fond de ma page (après avoir scrollé 2 ou 3 écrans), je voudrais qu'elle soit centrée à la position ou je suis. Mais elle s'ouvre toujours tout en haut ***??##***

Voici mon code CSS :
Code:
div#CalqFicheOn{
	display:none;
	left:50%;
	top:50%;
	margin-left:-300px;
	margin-top:-200px;
	position: fixed;
	width:600px;
	height:400px;
	background-color:#ffffff;
	z-index:101;


	/** IE **/
	 position: expression(IEFixedElementPos());
	 /*top: expression(IEFixedElementTop(parseInt(document.body.clientHeight * 10/100)));*/


}

et le code mon HACK IE6 (choper je sais plus où)
Code:
 function IEFixedElementPos()
        {
          // IE 7 en mode standard
          if (window.ActiveXObject && window.XMLHttpRequest && window.external && document.compatMode=="CSS1Compat") 
          {
             return ("fixed");
          }
          return ("absolute");
        }
         
        function IEFixedElementTop(defaultTop)
        {
          // IE 7 en mode standard
          if (window.ActiveXObject && window.XMLHttpRequest && window.external && document.compatMode=="CSS1Compat") 
          {
             return (defaultTop.toString() + "px;")
          }
          return ((document.body.scrollTop+defaultTop) + "px");
        }

Est-ce que quelqu'un peut m'aider ou me mettre sur une piste ?
 
WRInaute accro
Je suis obligé d'utiliser ce hack car je veux que mon div soit en position fixed à la base. Hors, puisque fixed n'existe pas dans IE6, rien ne se passe. Du coup, pour que ça fonctionne bien dans IE6, je suis obligé de mettre en absolute (l'effet est largement moins cool, mais ça suffira pour ce dinosaure ;) )
 
Discussions similaires
Haut