Menu

Comment faire un menu déroulant en HTML? [Résolu/Fermé]

- - Dernière réponse :  HAckProf - 15 avril 2011 à 10:46
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.
Afficher la suite 

20/30 réponses

Meilleure réponse
60
Merci
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>

Dire « Merci » 60

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 45087 internautes nous ont dit merci ce mois-ci

strale
Messages postés
5
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
31 août 2011
> kij_82
Messages postés
4100
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
2 septembre 2013
-
Peux-tu donner un exemple pour mettre le lien à la place du text ? merci
Bonsoir
je n'arrive pas à ouvrir une page internet avec les boites.
Comment faire?
Merci
Denis
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
super merci beaucoup pour le code html c'est exactement ce que je cherchais
Voici mon code, mais mes liens ne vont pas vers mes pages html est-ce normal? comment faire?

<center>
<form method="POST" name="menu" >
<select name="selectedPage"
onChange="changePage(this.form.selectedPage)">
<option value = "" selected> ........... Aller vers ........... </option>
<option value = "/curriculum_vitae.html"> CV </option>
<option value = "/mes_projets_videos.html"> Projets vidéos </option>
<option value = "/graphisme.html"> Graphisme </option>
<option value = "/photos.html"> Photos </option>
</select>
</form>
</center>
</body>
42
Merci
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
Messages postés
22
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
23 août 2005
13
26
Merci
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

@+
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.
> 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>
azerwhite
Messages postés
634
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
7 novembre 2011
40 -
Mon dieu pas en javascript, certain le désactive vaut mieux le faire en CSS
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
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
Messages postés
244
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
17 mai 2012
28
12
Merci
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+
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...
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 ;)
Messages postés
102
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
4
8
Merci
il a duré 3 ANS ce topic !!!!!!!!!!!!!!!!!!!!!!!!!
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.
BartWadela
Messages postés
559
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
93 -
4 maintenant !!
5 ;-) que le temps passe mais les sujets restent
Messages postés
559
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
93
5
Merci
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>
jacktoos
Messages postés
3
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
26 mai 2010
-
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
mortel ton script merci
Messages postés
2
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
15 février 2005
4
Merci
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/
3
Merci
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>
2
Merci
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 ).
Dalida
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
869 -
salut,

à ce niveau là le meilleur conseil que tu puisses recevoir c'est de te documenter !
en premier tu devrais lire ça.
;o)
Scandaleuz
Messages postés
12
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
8 décembre 2007
-
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 ...
Tu devrais utiliser Notepad++
2
Merci
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
Messages postés
102
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
4
2
Merci
Merci a tous :-o) lol !!
Messages postés
26
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
18 février 2009
1
2
Merci
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>
Dalida
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
869 -
salut,

ouvre un fil pour ta question, tu es HS !
-;o)
darkscythe
Messages postés
26
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
18 février 2009
1 > Dalida
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
-
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
Messages postés
612
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
2
Merci
avec le CSS en plus du HTML c'est possible : http://www.siteduzero.com/...
2
Merci
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
Merci
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.
Messages postés
73
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2005
2
1
Merci
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)
strale
Messages postés
5
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
31 août 2011
-
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.
1
Merci
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
Dalida
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
869 -
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)
Messages postés
537
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
1
Merci
En fait tu veux faire un menu accordeon?

va voir là:
les explications: http://css.alsacreations.com/...

l'exemple : http://css.alsacreations.com/xmedia/exemples/accordeon/menu_demo.html
Messages postés
102
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
4
1
Merci
suis plus anonyme
et j'étais riridi