Problème menu déroulante

Résolu/Fermé
davide21 Messages postés 32 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 16 mai 2014 - Modifié par davide21 le 12/03/2014 à 15:22
davide21 Messages postés 32 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 16 mai 2014 - 14 mars 2014 à 14:18
Bonjour,

Je suis entrain de mettre en place un menu déroulant mais j'ai découvert un problème. Comme c'est difficile d'expliquer le problème, je vous met le lien, comme ca vous pourrez voir le problème (Rubrique TV, et le sous-menu de Séries). Je ne trouve pas d'ou peut venir le problème vous pourriez m'aider? http://www.cine-seriestv.tk

Voici mon code HTML:

<ul id="menu">
    <li><a href="#">Accueil</a></li>
    <li> <a href="#">Cinéma</a>
        <ul>
            <li><a href="news-cinema.html">Actualité</a></li>
   <li><a href="box-office.html">Box-Office</a></li>
            <li><a href="videos-cinema.html">Vidéos</a></li>
        </ul>
    </li>
    <li><a href="#">TV</a>
     <ul>
      <li><a href="#">Séries</a>
       <ul>
        <li><a href="news-series.html">Actualité</a></li>
     <li><a href="videos-series.html">Vidéos</a></li>
    </ul>
   </li>
         <li><a href="audiences-fr.html">Audiences FR</a></li>
   <li><a href="festivals.html">Festivals</a></li>
     </ul>
 </li>
        <li><a href="programmes.html">Programmes </a></li>
        <li><a href="contact.html">Contact</a></li>
</ul>


Et mon code CSS:

#menu{
    width: 970px;
    margin: 0px;
 margin-top: 10px;
 margin-left: -10px;
 padding: 10px 0 0 0;
    list-style: none;
 background: #111;
 background: -moz-linear-gradient(#444, #111);
    background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444));
    background: -webkit-linear-gradient(#444, #111);
    background: -o-linear-gradient(#444, #111);
    background: -ms-linear-gradient(#444, #111);
    background: linear-gradient(#444, #111);
    -moz-box-shadow: 0 2px 1px #9c9c9c;
    -webkit-box-shadow: 0 2px 1px #9c9c9c;
    box-shadow: 0 2px 1px #9c9c9c;
 border-radius: 20px 20px 0 0;
}

#menu li{
        float: left;
        padding: 0 0 10px 0;
        position: relative;
}

#menu a{
        float: left;
        height: 25px;
        padding: 0 25px;
        color: #999;
        text-transform: uppercase;
        font: bold 12px/25px Arial, Helvetica;
        text-decoration: none;
        text-shadow: 0 1px 0 #000;
}

#menu li:hover > a{
        color: #fafafa;
}

*html #menu li a:hover{ /* IE6 */
        color: #fafafa;
}

#menu li:hover > ul{
        display: block;
}

/* Sous-menu */

#menu ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 35px;
    left: 0;
    z-index: 99999;
    background: #444;
    background: -moz-linear-gradient(#444, #111);
    background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444));
    background: -webkit-linear-gradient(#444, #111);
    background: -o-linear-gradient(#444, #111);
    background: -ms-linear-gradient(#444, #111);
    background: linear-gradient(#444, #111);
    -moz-border-radius: 5px;
    border-radius: 5px;
}

#menu ul li{
    float: none;
    margin: 0;
    padding: 0;
    display: block;
    -moz-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
    -webkit-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
    box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
}

#menu ul li:last-child{
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#menu ul a{
    padding: 10px;
    height: auto;
    line-height: 1;
    display: block;
    white-space: nowrap;
    float: none;
    text-transform: none;
}

*html #menu ul a{ /* IE6 */
        height: 10px;
        width: 150px;
}

*:first-child+html #menu ul a{ /* IE7 */
        height: 10px;
        width: 150px;
}

#menu ul a:hover{
        background: #0186ba;
        background: -moz-linear-gradient(#04acec,  #0186ba);
        background: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
        background: -webkit-linear-gradient(#04acec,  #0186ba);
        background: -o-linear-gradient(#04acec,  #0186ba);
        background: -ms-linear-gradient(#04acec,  #0186ba);
        background: linear-gradient(#04acec,  #0186ba);
}

#menu ul li:first-child a{
    -moz-border-radius: 5px 5px 0 0;
    -webkit-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

#menu ul li:first-child a:after{
    content: '';
    position: absolute;
    left: 30px;
    top: -8px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 8px solid #444;
}

#menu ul li:first-child a:hover:after{
    border-bottom-color: #04acec;
}

#menu ul li:last-child a{
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
}

/* Rétablissement du flottement */
#menu:after{
        visibility: hidden;
        display: block;
        font-size: 0;
        content: " ";
        clear: both;
        height: 0;
}

* html #menu             { zoom: 1; } /* IE6 */
*:first-child+html #menu { zoom: 1; } /* IE7 */

#menu ul li:first-child a:after{
    content: '';
    position: absolute;
    left: 30px;
    top: -8px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 8px solid #444;
}

#menu ul li:first-child a:hover:after{
    border-bottom-color: #04acec;
}


Ce code j'avais trouvé sur internet et comme il correspondait a ce que je veux faire je l'ai repris. J'ai pas encore complètement adapté à mon site quand j'ai vu le problème.

Vous pourriez m'expliquer le problème?

Merci d'avance,

A voir également:

4 réponses

animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
12 mars 2014 à 15:35
salut

rajoute ca a ton css

#menu li ul li:hover ul li a:before , #menu li ul li:hover ul li a:after {
visibility: hidden;
}
#menu li ul li:hover ul {
position: absolute;
height: auto;
margin: -35px 0 0 95px;
}

voila
0
davide21 Messages postés 32 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 16 mai 2014
12 mars 2014 à 15:57
Salut,

Ah super, ce que je voulais.

Maintenant j'en profite pour savoir, les sous-menus, sont à mon goût trop petite, vu que les textes ne font qu'un mot voire 2 petites mots. J'ai donc rajouté un padding-right: 20px; à menu ul (voire le code ci-dessous), mais c'est pas top parce que le couleur de fond ne fais que la moitié. Tu peux voir sur le site le résultat. J'ai essayé de rajouter un 2ème padding-right sur la partie du couleur de fond, mais ca n'a pas marché. Et bien sûr ca perturbe aussi le sous-sous-menu du sous-menu série. J'aimerai en faite l'agrandir pour faire plus jolie, si ca marche pas c'est pas grave. (Tu pourrai aussi me donner ton avis si tu veux)

#menu ul{
    list-style: none;
    margin: 0;
    padding: 0;
    padding-right: 20px;
    display: none;
    position: absolute;
    top: 35px;
    left: 0;
    z-index: 99999;
    background: #444;
    background: -moz-linear-gradient(#444, #111);
    background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444));
    background: -webkit-linear-gradient(#444, #111);
    background: -o-linear-gradient(#444, #111);
    background: -ms-linear-gradient(#444, #111);
    background: linear-gradient(#444, #111);
    -moz-border-radius: 5px;
    border-radius: 5px;
}


Si tu vois ce que je veux dire, tu me dire si c'est possible de faire ce que je veux?

Merci d'avance,
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
Modifié par animostab le 13/03/2014 à 02:33
Si j'ai bien compris retire le padding que tu as mis et fais ca

rajoute

#menu li ul li:hover ul a {
padding: 10px 20px;
}

transforme (c'est en gras afin que tu comprennes)

#menu ul a {
display: block;
float: none;
height: auto;
line-height: 1;
padding: 10px 20px;
text-transform: none;
white-space: nowrap;
}

#menu li ul li:hover ul {
height: auto;
margin: -35px 0 0 115px;
position: absolute;
padding: 0;
}


Pour chercher toi meme ce genre de truc

installe firefox avec les extensions firebug et webdeveloper
firebug permet de transformer le code d'un site en ligne et les changement s'affichent de manière immédiate
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
0
davide21 Messages postés 32 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 16 mai 2014
13 mars 2014 à 19:29
J'ai testé et ca marche.

Je cherchai ca exactement! Merci...

Merci pour tes réponses et pour les aides que tu m'a apporté.

Par contre, je ne savais pas qu'on pouvait faire ca avec Firefox. Je vais essayer.
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
13 mars 2014 à 22:59
ok apres install firefox installe les modules complémentaires firebug et webdeveloper
https://addons.mozilla.org/fr/firefox/addon/firebug/
https://addons.mozilla.org/fr/firefox/addon/web-developer-toolbar/

voila tu peux mettre le sujet en resolu
0
davide21 Messages postés 32 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 16 mai 2014
14 mars 2014 à 14:18
OK.

J'ai mis le sujet comme resolu
0