IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Menu deroulant ne marche pas sous IE6


Sujet :

CSS

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 58
    Points
    58
    Par défaut Menu deroulant ne marche pas sous IE6
    mon menu déroulant ne marche pas sous IE6. Pouvez vous m'aidez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    /**********************************************************
    				STYLES GENERAUX
    **********************************************************/
     
    img { 
    	border: 0; 
    	display: block; 
    }
     
    #logo { 
    	float: left;
    }
     
     
    /***********************************************************
    					MENU HORIZONTAL
    **********************************************************/
     
    #menuHorizon {
    	margin-left: 90px;
    	padding: 0;
    	margin: 0;
     
    }
     
    #menuHorizon li {
    	position: relative;
    	float: left; /* mes les boutons sur la gauche*/
    	list-style: none;
    	font-family: times, Helvetica, sans-serif;
    	text-decoration: none;
    }
     
     
    #menuHorizon li a { /* sous menu of*/
    	display: block;
    	line-height: 25px;/* hauteur de chaques boutons des sous menus*/
    	text-decoration: none;
    	color: green;/* couleur de la police*/
    	width:100%;
    }
     
    #menuHorizon li a:hover{ /* sous menu on*/
    	background-color: black;/* couleur du fond du sous menu en on*/
    	color: pink; /* couleur de la police sous menu en on*/
    } 
     
    #menuHorizon li ul {
    	position: absolute;
    	display: none;
    	left: 0; /* deplace les sous menu vers la droite*/
    	padding: 0;/* marge a l'interieur des sous menus vers les bord*/
    	margin: 0;
    	border: 1px solid #000;
    	background: #fff; /* indiqueras une couleur de fond blanche */
     
    }
     
    #menuHorizon li:hover > ul {
    	display: block;
    }
     
    #menuHorizon li ul li {
    	float: none;
    	width: 170px;/* largeur des sous menu*/
    	border:0px solid #000; /* créeras une bordure noir de 1 px tout autour de chaque lien */
     
    }
     
    #menuHorizon li ul li a {
    width:auto;
    	padding: 0 5px; /* hauteur et largeur de l'ensemble de sous menu*/
    	border:1px solid #000; /* créeras une bordure noir de 1 px tout autour de chaque lien */
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <div id="second">
        <a href="index.html"><img id="logo" src="image/emeline_rub.jpg" alt="image/emeline_rub" /></a>
        <ul id="menuHorizon">
              <li class="deroulant" style="width:156px"><a href="presentation.php"><img src="image/presentation_rub_off.jpg" alt="image/presentation_rub_on.jpg" class="rollOver" /></a>            
                <ul>
              	  <li><a href="leurhistoire.php">Leur histoire</a></li>
              	  <li><a href="lesparents.php">Les parents des mariés</a></li>
              	  <li><a href="lestemoins.php">Les témoins</a></li>
              	  <li><a href="enfantshonneurs.php">Les enfants d/'honneurs</a></li>
              	  <li><a href="toffe.php">Toffee</a></li>
                 </ul>
                </li>
     
            	  <li><img src="image/oiseau1_rub.jpg" alt="image/oiseau1_rub"/></li>
     
                <li class="deroulant" style="width:78px"><a href="jourj.php"><img src="image/jourj_rub_off.jpg" alt="image/jourj_rub_on.jpg" class="rollOver" /></a>
                  <ul>
                	  <li><a href="prestataires.php">Les prestataires</a></li>
                	  <li><a href="deroulement.php">Le déroulement</a></li>
                	  <li><a href="voyage.php">Le voyage de noce</a></li>
                	  <li><a href="liste.php">La liste de mariage</a></li>
                 </ul>
                </li>
     
            	  <li><img src="image/oiseau2_rub.jpg" alt="image/oiseau2_rub.jpg"></li>
     
     
                <li class="deroulant" style="width:160px"><a href="infospratiques.php"><img src="image/infospratiques_rub_off.jpg" alt="image/infospratiques_rub_on.jpg" class="rollOver" /></a>
                    <ul>
                  	  <li><a href="commentvenir.php">Comment venir</a></li>
                  	  <li><a href="hebergement.php">Hébergement</a></li>
     
                   </ul>
                </li>
            	  <li><img src="image/oiseau3_rub.jpg"alt="image/oiseau3_rub.jpg"/></li>
     
              <li class="deroulant" style="width:89px"><a href="contact.php"><img src="image/contact_rub_off.jpg" alt="image/contact_rub_on.jpg" class="rollOver" /></a>
     
              </li>
        	  <li><img src="image/oiseau4_rub.jpg"alt="image/oiseau4_rub.jpg"></li>
     
        </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    function gebcn(c) {
     
    	if (document.getElementsByClassName) {
    		return document.getElementsByClassName(class);
    	}
    	else {
    		var all = document.getElementsByTagName("*"),
    		res = [];
    		for (var i=0,l=all.length;i<l;i++) {
    			if (all[i].className == class) {
    				res.push(all[i]);
    			}
    		}
    		return res;
    	}
    }
     
    sfHover = function() {
    	var sfEls = gebcn("deroulant");
     
    	for (var i=0; i<sfEls.length; i++) {
    		sfEls[i].onmouseover = function() {
    			this.getElementsByTagName("ul")[0].style.display = "block";
    		};
    		sfEls[i].onmouseout = function() {
    			this.getElementsByTagName("ul")[0].style.display = "none";
    		};
    	}
    };
     
     
    window.onload = function() {
    	var imgs = document.getElementsByTagName('img');
     
    	for (var i = 0; i < imgs.length; i++)
    	{
    		if (imgs[i].className == 'rollOver')
    		{
    			imgs[i].onmouseover = (function() { var a = this.src; this.src = this.alt; this.alt = a; });
    			imgs[i].onmouseout = (function() { var a = this.src; this.src = this.alt; this.alt = a; });
    			imgs[i].className = '';
    		}
    	}
    	sfHover();
    	Galery('toffe');
    };
    on m'a dit que le problème viendrai de mon css
    en tut cas merci d'avance de votre aide

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonjour,

    Citation Envoyé par gaya102 Voir le message
    on m'a dit que le problème viendrai de mon css
    Oui,

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #menuHorizon li:hover > ul {
    	display: block;
    }

    Le sélecteur d'enfants directes ">" n'est pas reconnu par IE6-, ton menu reste alors en display:none;
    Je ne réponds pas aux questions techniques par MP.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Je crois que "li:hover" ne fonctionne pas non plus sous IE... (seulement avec "a")


    devYan.

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par devyan Voir le message
    Je crois que "li:hover" ne fonctionne pas non plus sous IE... (seulement avec "a")
    Oui, aussi.
    De toute manière, l'utilisation du sélecteur d'enfants directes pour modifier le comportement de <ul> montre l'intention d'exclure IE6-
    Je ne réponds pas aux questions techniques par MP.

  5. #5
    Membre confirmé Avatar de desert
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 414
    Points : 479
    Points
    479
    Par défaut
    Bonjour,
    Ce sélecteur ne marche pas sous IE6, d'où l'utilisation du script JS, pour pallier au problème. Si le code JS ne marche pas, c'est qu'il y a une/des erreur(s) dedans.
    Sans rechercher à corriger l'ancien, celui-ci devrait normalement fonctionner :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    window.onload = function() {
        var menu = document.getElementById("menuHorizon");
        var sfEls = menu.getElementsByTagName("li");
        for (var i=0; i<sfEls.length; i++) {
            if (sfEls[i].className == "deroulant") {
                sfEls[i].onmouseover = function() {
                    var uls = this.getElementsByTagName("ul");
                    if (uls.length > 0) {
                        uls[0].style.display = "block";
                    }
                    var imgs = this.getElementsByTagName("img");
                    if (imgs.length > 0) {
                        var img = imgs[0];
                        var tmp = img.src; img.src = img.alt; img.alt = tmp;
                    }
                };
                sfEls[i].onmouseout = function() {
                    var uls = this.getElementsByTagName("ul");
                    if (uls.length > 0) {
                        uls[0].style.display = "none";
                    }
                    var imgs = this.getElementsByTagName("img");
                    if (imgs.length > 0) {
                        var img = imgs[0];
                        var tmp = img.src; img.src = img.alt; img.alt = tmp;
                    }
                };
            }
        }
    };
    PS: Au niveau CSS, il faut changer le auto de la propriété width des liens des sous-menus par ceci :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #menuHorizon li ul li a {
    	width: 158px;
    	padding: 0 5px; /* hauteur et largeur de l'ensemble de sous menu*/
    	border: 1px solid #000; /* créeras une bordure noir de 1 px tout autour de chaque lien */
    }
    qui donne le layout aux liens (ce n'est pas le cas avec width:auto) et permet corriger un bug.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Points : 58
    Points
    58
    Par défaut
    ca y est ca marche et sans erreur de script en plus. je suis trop contente car ca fais 3 semaines que j'avais se problème.
    Merci Merci vous etes top

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    pour que ça marche sans js sous ie6
    http://bormat2.free.fr/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Menu déroulant ne marche pas sous IE
    Par comode dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/10/2010, 15h35
  2. unserialize ne marche pas sous IE6 ?
    Par xclam dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2008, 13h51
  3. color transparent! marche pas sous IE6 => alternative?
    Par kleenex dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 01/03/2008, 12h09
  4. URGENT : Request.Form ne marche pas sous IE6
    Par Laurent Outan dans le forum ASP
    Réponses: 9
    Dernier message: 16/07/2004, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo