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 :

[IE6] Menu déroulant disparaissant


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Par défaut [IE6] Menu déroulant disparaissant
    Bonjour à tous,

    J'ai un problème concernant mes menus déroulants sous Internet Explorer (ils marchent très bien sous Firefox).
    Au passage de la souris sur une catégorie, tout se déroule bien, mais pour selectionner un sous-menu, c'est là que ca coince.

    Certains sous-menus s'affichent bien, d'autres disparaissent quand je tente de me positionner dessus.

    Mon menu est composé de XHTML / CSS / Javascript, mais je pense que le problème vient du CSS.

    Menu HTML :

    <script type="text/javascript">
    window.onload=montre;

    //affichage menu déroulant et placement
    function montre(id,affiche)
    {
    var d = document.getElementById(id);
    //si on quitte élément du menu
    if (d && !affiche)
    {
    d.style.display='none'; //on efface
    var c=d.parentNode; //parent
    if (c.parentNode.parentNode.parentNode.tagName!='DIV') //si un sous-menu, on rend les couleurs d'origine
    {
    c.firstChild.style.color='#39f';
    c.firstChild.style.background='#fff';
    }
    }
    //sinon si élément du menu
    else if (d && affiche)
    {
    d.style.display='block'; //affichage
    var c=d.parentNode; //parent
    if (c.parentNode.parentNode.parentNode.tagName!='DIV') //si sous-menu, on redonne les couleurs de survol
    {
    c.firstChild.style.color='#fff';
    c.firstChild.style.background='#39f';
    }
    }
    }
    </script>

    </head>

    <body>
    <div id="entete">
    <div id="menu">
    <ul>
    <li onmouseover="montre('Choix5',true);" onmouseout="montre('Choix5',false);"><a href="#"><img src="images/img1.gif" alt="menu1"></a>
    <ul id="Choix5">
    <li onmouseover="montre('Ligne1.5',true);" onmouseout="montre('Ligne1.5',false);"><a href="#">Ligne1</a>
    <ul class="dernier" id="Ligne1.5">

    <li><a href="#">Sous-menu1</a></li>
    <li><a href="#">Sous-menu2</a></li>
    <li><a href="#">Sous-menu3</a></li>

    </ul>
    </li>
    </ul>
    </li>
    <!--Fin choix1-->
    </ul>
    </div>
    <!--Fin menu vertical-->
    </div>
    <!-- Fin entete -->
    Et voici ma mise en forme CSS :

    body {
    font-family:Verdana, "Times New Roman", Helvetica, sans-serif;
    font-size: 1.0em;
    color:#000000;
    margin:0px; padding:0px;
    background-image:url(images/image3.jpg); background-repeat:no-repeat;
    behavior: url(csshover.htc);
    }
    a:link, a:visited, a:hover {
    color: #006699;
    text-decoration: none;
    }
    a:hover {
    text-decoration: underline;
    }#entete{
    margin: 0;
    padding: 17px 10px;
    width: 98.4%;
    text-align:center;
    height:60px;
    background-image:url(images/vert2.jpg);
    position:fixed;
    z-index:1;
    }/* Menus déroulants */

    ul, li {
    list-style-type:none;
    }

    /*Sous-menus*/
    #menu {
    margin-top:15px;
    /margin-top:55px;
    position:absolute;
    /margin-left:-610px;
    margin-right:0px;
    float:left;
    }
    #menu ul li {
    position:relative;
    float:right;
    width:125px;
    cursor:pointer;
    display:block;
    height:22px;
    padding:0px;
    }
    #menu ul li a:hover{
    color:#F33;
    }

    #menu ul li ul {
    display:none;
    position:absolute;
    width:84px;
    /width:100px;
    border:1px solid #dddddd;
    border-top:none;
    top:20px;
    /left:-40px;
    background-color:#FFFFFF;
    }

    #menu ul li ul li {
    height:100%;
    }

    #menu ul li ul li a {
    color:#3399ff;
    font-size:11px;
    font-weight:normal;
    display:block;
    height:25px;
    border-top:1px solid #dddddd;
    }

    /*Décalage droite*/
    #menu ul li ul li ul {
    top:0px;
    left:125px;
    /left:70px;
    }
    J'ai essayé de faire une page sans javascript, le problème de disparition des menus persiste.

  2. #2
    Membre confirmé Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Par défaut
    En fait mon menu déroulant passait "par dessous" le Div de contenu de ma page, donc il ne s'affichait plus.

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

Discussions similaires

  1. IE6 Probleme menu déroulant
    Par rems033 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/12/2007, 19h27
  2. Menu déroulant horizontal sous ie6
    Par Kerweb dans le forum Mise en page CSS
    Réponses: 18
    Dernier message: 09/10/2007, 11h18
  3. Menu déroulant FF ok IE6 pas ok
    Par webrider dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2007, 14h00
  4. Menu déroulant qui disparait (compatibilité IE6)
    Par theclear dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 26/01/2007, 16h42
  5. Réponses: 3
    Dernier message: 21/11/2006, 01h43

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