Comment faire un menu déroulant en HTML?

Résolu/Fermé
Yakurena -  
 HAckProf -
Bonsoir,
J'aimerais savoir s'il est possible de faire un menu déroulant sans avoir recours au DHTML(langage que je ne connais pas du tout),mais simplement avec du HTML(ou à la rigueur du PHP).
Merci d'avance.

30 réponses

  • 1
  • 2
  1. domi
     
    voici un exemple de liste déroulante dynamique en html et Javascript (j'ai enlevé toutes les décalrations de doctype, css...). En fonction du choix dans une première liste, unes seconde liste est générée automatiquement
    Bon courage
    P.S. Si cela ne répond pas à votre problème j'ai d'autres solutions possibles

    <html>
    <title>liste déroulante dynamique</title>
    <head>
    <script language="Javascript" type="text/javascript" >
    function choix(formulaire)
    {
    var j;
    var i = formulaire.boite1.selectedIndex;
    if (i == 0)
    for(j = 1; j <3; j++)
    formulaire.boite2.options[j].text="";

    else{
    switch (i){
    case 1 : var text = new Array( "Marseille","PSG","Monaco");
    break;
    case 2 : var text = new Array("Toulouse","Agen","Paris");
    break;

    case 3 : var text = new Array("Dijon","Pau","Gravelines");
    break;
    }

    for(j = 0; j<3; j++)
    formulaire.boite2.options[j+1].text=text[j];
    }
    formulaire.boite2.selectedIndex=0;
    }
    </script>
    </head>
    <body>
    <form name="formulaire">
    <select name="boite1" onChange="choix(this.form)">
    <option selected>...........Choisissez une rubrique...........</option>
    <option>foot</option>
    <option>rugby</option>
    <option>basket</option>

    </select>

    <select name="boite2">
    <option selected>...........Choisissez une rubrique...........</option>
    <option></option>
    <option></option>
    <option></option>
    </form>
    </select>
    </body>
    </html>
    62
    1. Bloodman Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   2
       
      Comment ont fait pour changer de page en selectionnant un mot qui est dans le menu deroulant stp ?
      0
    2. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      Tu met un lien à a place d'un mot simple.

      ++
      0
    3. strale Messages postés 1 Statut Membre > kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Peux-tu donner un exemple pour mettre le lien à la place du text ? merci
      0
    4. Denis
       
      Bonsoir
      je n'arrive pas à ouvrir une page internet avec les boites.
      Comment faire?
      Merci
      Denis
      0
    5. frodolon
       
      merci ton message ma ete tres utile
      pourrai tu me donner un cours sur les menu deroulant avec interaction entre les menu
      je suis sur un projet qui reposera sur le html mais sur peut de fonction
      les liens, les renvoi, les mise en memoire(je ne sais pâs si c possible) les menu deroulant
      pourrai tu maider
      merci
      0
  2. riridi
     
    le sauveur a la rescousse tadadada!!!!!!!

    voici le code (html/css) :

    CSS :

    #menu ul {
    margin:0;
    padding:0;
    list-style-type:none;
    text-align:center;
    }
    #menu li {
    float:left;
    margin:auto;
    padding:0;
    background-color:#00008b;
    }
    #menu li a {
    display:block;
    width:100px;
    color:white;
    text-decoration:none;
    padding:5px;
    }
    #menu li a:hover {
    color:#FFD700;
    }
    #menu ul li ul {
    display:none;
    }
    #menu ul li:hover ul {
    display:block;
    }
    #menu li:hover ul li {
    float:none;
    }
    #menu li ul {
    position:absolute;
    }
    #menu {
    height:50px;
    }

    xHTML:

    <div id="menu">
    <ul>
    <li><a href="index.html">Accueil</a></li>
    <li><a href="#">Contacte</a>
    <li><a href="#">Membre</a>
    <ul>
    <li><a href="#">Connexion</a></li>
    <li><a href="#">Inscription</a></li>
    </ul>
    <li><a href="#">Astuces</a>
    <ul>
    <li><a href="#">Windows XP</a>
    <li><a href="#">Windows Vista</a>
    <li><a href="#">Internet Explorer</a>
    </ul>
    </ul>
    </div>

    ps : marche pas sur ie6 (ie7 je c'est pas) et mozilla sa marche
    42
  3. ad_creative Messages postés 21 Statut Membre 14
     
    Salut ..

    voici un debut de réponse .. c'est très propre mais bon ..

    // --------------------------------------------------------------

    <html>
    <head>
    <title>TEST</title>
    </head>

    <body bgcolor="#FFFFFF">

    <SCRIPT LANGUAGE="JavaScript">

    var txt=new Array () ;

    txt[1]='<a href="page1.htm">test1</a><br><a href="page4.htm">test2</a>';
    txt[2]='<a href="page2.htm">test3</a><br><a href="page5.htm">test4</a>';
    txt[3]='<a href="page3.htm">test5</a><br><a href="page6.htm">test6</a>';

    function menu(id)
    {
    ref=document.getElementById(id);
    if (ref.innerHTML== "....")
    ref.innerHTML = txt[id];
    else
    ref.innerHTML= "....";
    }

    </SCRIPT>

    <a href=# onClick="menu(1);">menu1</a>
    <DIV id=1>....</DIV>

    <a href=# onClick="menu(2);">menu2</a>
    <DIV id=2>....</DIV>

    <a href=# onClick="menu(3);">menu3</a>
    <DIV id=3>....</DIV>

    </body></html>

    //-------------------------------------------------------------------

    exemple ici : http://adcomp.no-ip.org/mp3.php

    @+
    26
    1. benoit
       
      C'est tout à fait ce que je cherchais !!!

      Est-ce qu'il y a un moyen simple pour que txt[1] se referme quand on ouvre txt[2] (et réciproquement) ?

      Merci.
      0
      1. ZombieKid > benoit
         
        Voilà pour n'avoir qu'un lien ouvert à la fois :

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
        <html>
        <head>
        <title>TEST</title>
        </head>

        <body bgcolor="#FFFFFF">


        <SCRIPT LANGUAGE="JavaScript">

        var txt=new Array () ;

        txt[1]='<a href="page1.htm">test1</a><br><a href="page4.htm">test2</a>';
        txt[2]='<a href="page2.htm">test3</a><br><a href="page5.htm">test4</a>';
        txt[3]='<a href="page3.htm">test5</a><br><a href="page6.htm">test6</a>';

        function menu(id)
        {
        ref=document.getElementById(id);
        if (ref.innerHTML== "")
        ref.innerHTML = txt[id];

        }

        function fin(x,y)
        {
        ref1=document.getElementById(x);
        ref2=document.getElementById(y);
        ref1.innerHTML= "";
        ref2.innerHTML= "";
        }

        </SCRIPT>

        <a href="a.html" onMouseOver="menu(1); fin(2,3);">menu1</a>
        <DIV id=1></DIV>

        <a href="b.html" onMouseOver="menu(2); fin(1,3);">menu2</a>
        <DIV id=2></DIV>

        <a href="c.html" onMouseOver="menu(3); fin(1,2);">menu3</a>
        <DIV id=3></DIV>


        </body></html>
        0
    2. azerwhite Messages postés 753 Statut Membre 43
       
      Mon dieu pas en javascript, certain le désactive vaut mieux le faire en CSS
      0
    3. koribial
       
      salut!
      ton code est super et très utile pour les menus déroulants, mais même en cherchant je n'ai pas réussi à faire en sorte que les liens soient "côte à côte"...
      je m'explique...
      j'aimerais faire mon menu à l'horizontale, sous ma bannière...
      donc le fait que les chois dits "déroulés" se déroulent vers le bas est très bien adapté, par contre les 3 catégoriesprincipales sont d'origine les unes sur les autres...
      si tu pouvais me répondre par mail au plus vite stp ce serait sympa de ta part.
      Merci d'avance,
      Koribial
      0
    4. shannon51
       
      il faut en fait que tu fasse une liste pour que cela se mette en ligne ;)
      exemple dans html:

      <div id="menu">
      <ul>
      <li><a href="http://marshmalow.world.free.fr"><span style="border-bottom: 2px #00CCFF dotted;">accueil</span></a></li>
      <li><a href="http://marshmalow.world.free.fr"><span style="border-bottom: 2px #00CCFF dotted;">infos</span></a></li>
      <li><a href="http://marshmalow.world.free.fr"><span style="border-bottom: 2px #00CCFF dotted;">you</span></a></li>
      </ul>
      </div>

      et dans ta feuille de style:

      /*MENU*/
      #menu{
      background: url(theme/contenu-menu.png) no-repeat bottom left;
      height: 77px;
      line-height: 77px;


      }

      #menu ul li{
      list-style: none;
      float: left;

      }

      #menu ul li a{
      height: 121px;
      width: 121px;
      font-size: 16px;
      text-decoration: none;
      text-align: center;
      display: block;
      background: url(theme/bouton-accueil1.png) no-repeat top left;
      line-height: 55px;
      color: #56b1b9;

      }

      #menu ul li a:hover{
      background-position: bottom left;
      color: #f5768b;
      background: url(theme/bouton-accueil2.png) no-repeat top left;

      }

      voila jsp t'avoir aider
      0
  4. trik59 Messages postés 244 Date d'inscription   Statut Membre Dernière intervention   39
     
    voili voilou !!
    je croi que c'est ce que tu cherche nen ?

    <select name="liste">
    <option value="Choix 1">Choix 1
    <option value="Choix 2">Choix 2
    <option value="Choix 3">Choix 3
    </select>

    a+
    12
    1. Yakurena
       
      Non,c'est plus compliqué que ça...
      En fait,ce que j'appelle un menu déroulant,c'est avoir au départ un menu du genre :
      A
      B
      C
      et en cliquant sur une des 3 options,un sous-menu apparaitrait ; par exemple,en cliquant sur B :
      A
      B
      B1
      B2
      B3
      C

      Voilà ce que j'aimerais obtenir...
      0
    2. getthoballer
       
      Bonjour!, je sais que maintenant on n'est en 2009 et que sa fait 4 ans que tu as ecrit sa mais comment tu fais pour que sa marche.. ex:

      <select name="list">
      <option value="Choix 1">Choix 1
      <option value="Choix 2">Choix 2
      <option value="Choix 3">Choix 3
      </select>


      mais moi je veux que quand on choisit un choix sa nous amene a un autre page merci de ta reponse le plus tot possible ;)
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. web-actu Messages postés 105 Statut Membre 6
     
    il a duré 3 ANS ce topic !!!!!!!!!!!!!!!!!!!!!!!!!
    8
    1. Groscon
       
      Toujours plus haut, toujours plus loin toujours plus .......­... heuu...
      Patientez S.V.P M.Web-actu a oublié ce qu'il vou­lez dire


      É y voulé dir koi ? Il voulait sans doute dire que les signes de ponctuation simple ne sont précédés d'aucune espace et sont suivis d'une espace sécable tandis que les doubles sont précédés d'une espace insécable et suivis d'une espace sécable.

      Merci pour ces exemples qui m'auront bien servis.
      0
    2. BartWadela Messages postés 606 Statut Membre 111
       
      4 maintenant !!
      0
    3. laelly
       
      5 ;-) que le temps passe mais les sujets restent
      0
    4. uhu
       
      6 =D
      0
    5. HAckProf
       
      7 =P
      0
  7. BartWadela Messages postés 606 Statut Membre 111
     
    http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal
    5
  8. html_css_js
     
    Moi, j'ai une métode pour faire sa, c'est compatible avec tous les browser, mais il faut utiliser le js (javascript), j'ai rajouter une petite bordure au menu pour qu'on puissent le voir :
    <html>
    <head>
    <title>Essai menu</title>
    <style type="text/css">
    .MOff {
    display: none;
    }

    .MOn {
    display: inline;
    }

    .menuB {
    position: absolute;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    z-index: 10;
    border: 1px solid black;
    }

    .menuB a {
    display: block;
    }

    .encadre_menu {
    float: left;
    }
    </style>
    <script type="text/javascript">
    function MenuOver(elt)
    {
    elt.childNodes[1].className='menuB MOn page_encours';
    }

    function MenuOut(elt)
    {
    elt.childNodes[1].className='menuB MOff page_encours';
    }
    </script>
    </head>
    <body>
    <div onmouseover="MenuOver(this)" onmouseout="MenuOut(this)" class="encadre_menu"><div><a href="#">Autre</a></div><div class="menuB MOff">
    <a href="#">lien</a>
    <a href="#">lien</a>
    <a href="#">lien</a>
    <a href="#">lien</a>
    </div>
    </div>
    </body>
    </html>
    5
    1. jacktoos Messages postés 2 Statut Membre
       
      Merci pour ce code car il fonctionne très bien lorsque je l'utilise. Mais comment faire pour que lorsque les liens se déroulent dans le cadre en bas, que ce cadre apparaisse juste en dessous et non legèrement à droite. Aussi, les liens sont soulignés. Comment enlever ce soulignement. Aussi si je veux qu'en passant la souris, il y ait un effet sur les liens comment faire. Excusez moi je suis débutant. Merci de votre soutien
      0
    2. snooz
       
      mortel ton script merci
      0
  9. liad Messages postés 1 Date d'inscription   Statut Membre
     
    En partant d'une structure HTML valide tel que:

    <ul>
    <li>Mon option</li>
    <li>Mon option 2
    <ul>
    <li>déroulant 1</li>
    <li>déroulant 2</li>
    </ul>
    </li>
    </ul>

    Tu obtiens un menu que les moteurs de recherches référencent facilement, et que tous les navigateurs pourront lire (y-compris ton natel :) .

    Pour lui faire faire ce que tu veux graphiquement, utilise une feuille de style CSS. De nombreux exemple sont disponible sur cette page.

    http://css.maxdesign.com.au/listamatic/
    4
  10. vincenne98
     
    Moi, j'ai fait comme sa :
    <html>
    <head>
    <title>Teste - menu</title>
    <style type="text/css">
    .encadre_menu {
    float: left;
    }
    .menuB {
    position: absolute;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    }
    .MOff {
    display: none;
    }

    .MOn {
    display: block;
    }

    </style>
    <script type="text/javascript">
    function MenuOver(elt)
    {
    souris_event_object = elt;
    elt.childNodes[1].className='menuB MOn';
    }

    function MenuOut(elt)
    {
    souris_event_object = null;
    elt.childNodes[1].className='menuB MOff';
    }
    </script>
    </head>
    <body>
    <div onmouseover="MenuOver(this)" onmouseout="MenuOut(this)" class="encadre_menu"><div>Page</div><table class="menuB MOff">
    <tr><!--TR N1-->
    <td colspan="2" class="tab_top"><!--TD N1.1-->
     
    </td>
    <td rowspan="2" class="tab_right"><!--TD N1.2-->
     
    </td>
    </tr>
    <tr><!--TR N2-->
    <td rowspan="2" class="tab_left"><!--TD N2.1-->
     
    </td>
    <td class="tab_center"><!--TD N2.2 (CENTRE)-->
    <a href="#">essaiQ</a>
    <div class="hr"> </div>
    <a href="#">essai2</a>
    </td>
    </tr>
    <tr><!--TR N3-->
    <td colspan="2" class="tab_bottom"><!--TD N3.2-->
     
    </td>
    </tr>
    </table>
    </body>
    </html>
    3
  11. rem
     
    salut a tous g un probleme jutilise le logiciel nvu pour créer mon site et je voudrai mettre un menu horizontal et vertical et kan je met "code html" il me mé les écrits mais non pas le menu en couleur !! aidez moi svp merciiii davancee !!!! ( ou alors si personne ne pe maider, conseillé moi un logiciel mieux ).
    2
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      salut,

      à ce niveau là le meilleur conseil que tu puisses recevoir c'est de te documenter !
      en premier tu devrais lire ça.
      ;o)
      0
    2. Scandaleuz Messages postés 11 Statut Membre
       
      Salut !!

      Moi j'ai quelques questions à rajouter ...
      - D'abord vous proposez 2 boites, mais il m'en faudrait 4 ... Chacune liée à la réponse de la précédente ... Quel est le code que je dois entrer ?
      - Ensuite dans certaines listes j'ai 9 éléments et 31 dans la liste d'après ... Est ce qu'il est possible que la taille de la liste s'adapte au nombre d'éléments qu'elle contient ? (Sans rentrer "-" pour les éléments à rajouter !!!)


      Merci ...
      0
  12. Atomics
     
    Bonjour,

    Le dernier code fonctionne très bien et c'est ce que je recherchai moi même pour mon site, néanmoins je le souhaiterai de manière verticale :

    Comme ceci

    MENU1----->sousmenu1
    MENU2 sousmenu2
    MENU3
    MENU4
    MENU5

    Quelqu'un pourrai me dire qu'est ce qu'il y'a à modifier sur ce code pour obtenir un menu comme celui ci s'il vous plais?

    Merci beaucoup
    2
    1. Toinou
       
      http://www.siteduzero.com/tutoriel-3-37795-creer-un-menu-horizontal-deroulant-en-css.html
      0
      1. atomics > Toinou
         
        Merci beaucoup :)
        0
  13. web-actu Messages postés 105 Statut Membre 6
     
    Merci a tous :-o) lol !!
    2
  14. darkscythe Messages postés 24 Statut Membre 1
     
    Personne n'a d'idée pour colorer la flèche d'un menu déroulant de ce type ? Car j'ai réussis pour une zone de texte mais la il ne prend pas les propriété de la scrollbar =(

    <select name="liste">
    <option value="Choix 1">Choix 1
    <option value="Choix 2">Choix 2
    <option value="Choix 3">Choix 3
    </select>
    2
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      salut,

      ouvre un fil pour ta question, tu es HS !
      -;o)
      0
      1. darkscythe Messages postés 24 Statut Membre 1 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut,

        J'ai posté ailleurs mais sans succès alors j'ai tenté ma chance ici désolée du HS ;o)

        et merci

        http://www.commentcamarche.net/forum/affich 11060252 menu deroulant html avec couleur?#1
        0
  15. ben85350 Messages postés 622 Statut Membre 27
     
    avec le CSS en plus du HTML c'est possible : http://www.siteduzero.com/tutoriel-3-37795-creer-un-menu-horizontal-deroulant-en-css.html
    2
  16. Utilisateur anonyme
     
    Bon vous allez râlez, sa fais 5 ans.
    Mais voila, j'ai pris le menu qu'on trouve ici, mais je n'arrive pas à le centrer au milieu de ma page en haut.
    Comment faire?
    Merci beaucoup.
    2
  17. Girl5766
     
    Bonsoir:
    Alors d'abord pour le tableau que leila veut faire voilà:

    <!--webbot bot="PhotoAlbum" U-Include="file:///C:/DOCUME~1/PROPRI~1/LOCALS~1/Temp/FrontPageTempDir/wpe17.htm" clientside TAG="BODY" --><p> </p>

    Enfait je suis pas sure si ça marche car je l'ai fais dans FrontPage en faisant insertion, composant web.
    Pour faire le menu déroulant c'est:

    <!--webbot bot="Navigation" S-Type="sequence" S-Orientation="horizontal" S-Rendering="graphics" S-Theme="artsy" B-Include-Home="FALSE" B-Include-Up="FALSE" U-Page="sid:1001" --></p>

    Je ne suis non plus pas sure si ça marche car c'est aussi Frontpage mais essayez quand même.
    2
  18. Bloodman Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   2
     
    dsl mais j'y arrive pas
    je voudrai un menu deroulant qui quand je clique sur le mot index(qui est dans le mot deroulant) m'amene a la page index.html(dans le meme dossier bien sur)
    1
    1. strale Messages postés 1 Statut Membre
       
      Je n'y arrive pas non plus. Je ne trouve pas le script à insérer pour accéder à un lien hypertext à partir du second menu. Depuis le temps, quelqu'un a-t-il trouvé la solution ? merci de votre aide.
      0
  19. leila
     
    bonsoir,

    je viens de créer un blog et j'ai besoin d'un tableau avec colonnes et lignes pour pourvoir integrer des photos

    pouviez me donner le code html pour pourvoir creer ce tableau

    merci d'avance

    leila
    1
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      salut,

      et qu'est-ce que ta question vient faire à la fin d'une discussion sur les menus déroulants ?
      -:oD

      pour ta question, as-tu pensé à le faire en CSS ?

      regarde cette galerie. tu ne veux peut être pas afficher la grande image mais positionner des images c'est fait !
      et tu peux remonter dans la liste, il y en a plein d'autres. pour présenter des images ça peut donner des idées !
      -;o)
      0
  20. InAme19 Messages postés 573 Statut Membre 63
     
    En fait tu veux faire un menu accordeon?

    va voir là:
    les explications: http://css.alsacreations.com/Tutoriels-JavaScript/Creer-un-menu-accordeon-avec-jQuery

    l'exemple : http://css.alsacreations.com/xmedia/exemples/accordeon/menu_demo.html
    1
  21. web-actu Messages postés 105 Statut Membre 6
     
    suis plus anonyme
    et j'étais riridi
    1
  • 1
  • 2