[résolu] CSS : position fixed et IE6


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

[résolu] CSS : position fixed et IE6

Message le Ven Juil 13, 2007 15:48

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: Tout sélectionner
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: Tout sélectionner
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 ?
Dernière édition par blman le Mar Juil 17, 2007 19:20, édité 1 fois.


frenchhorn
WRInaute impliqué
WRInaute impliqué
 
Messages: 849
Inscription: 8 Fév 2007

Message le Ven Juil 13, 2007 17:01

J'ai donc utiliser un hack qui la transforme en absolute.


salut, j'suis pas un pro en css, mais pourquoi utiliser un hack pour faire ca?

la position absolute ne suffirait-elle pas?


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Ven Juil 13, 2007 17:03

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 ;) )

Dan_A
WRInaute discret
WRInaute discret
 
Messages: 183
Inscription: 21 Déc 2005

Message le Ven Juil 13, 2007 18:25

Il existe des solutions (un peu anciennes et donc à mettre entre commentaires conditionnels) avec des liens qui peuvent conduire à d'autres méthodes :
http://tagsoup.com/cookbook/css/fixed/
http://www.cssplay.co.uk/layouts/fixed.html


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Mar Juil 17, 2007 19:20

Merci Dan_A, ça fonctionnel sans aucun problème avec les commentaires conditionnels


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités