Comment faire un menu déroulant en HTML?

Résolu/Fermé
Yakurena - 14 févr. 2005 à 22:03
 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.

30 réponses

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
Bloodman
Messages postés
69
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2005
2
12 avril 2005 à 13:55
Comment ont fait pour changer de page en selectionnant un mot qui est dans le menu deroulant stp ?
0
kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
856
12 avril 2005 à 15:31
Tu met un lien à a place d'un mot simple.

++
0
strale
Messages postés
1
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
31 août 2011
> kij_82
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013

13 mai 2009 à 17:01
Peux-tu donner un exemple pour mettre le lien à la place du text ? merci
0
Bonsoir
je n'arrive pas à ouvrir une page internet avec les boites.
Comment faire?
Merci
Denis
0
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
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
ad_creative
Messages postés
21
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
23 août 2005
14
15 févr. 2005 à 08:27
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
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
ZombieKid > benoit
24 janv. 2010 à 20:55
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
azerwhite
Messages postés
625
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
7 novembre 2011
43
17 nov. 2008 à 14:39
Mon dieu pas en javascript, certain le désactive vaut mieux le faire en CSS
0
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
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
trik59
Messages postés
241
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
17 mai 2012
39
14 févr. 2005 à 23:13
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
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
getthoballer
24 janv. 2009 à 21:28
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
web-actu
Messages postés
99
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
6
9 déc. 2008 à 17:02
il a duré 3 ANS ce topic !!!!!!!!!!!!!!!!!!!!!!!!!
8
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
BartWadela
Messages postés
557
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
112
20 janv. 2009 à 01:56
4 maintenant !!
0
5 ;-) que le temps passe mais les sujets restent
0
6 =D
0
7 =P
0
BartWadela
Messages postés
557
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
112
2 mars 2008 à 23:24
http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal
5
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
jacktoos
Messages postés
1
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
25 mai 2010

26 mai 2010 à 01:20
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
mortel ton script merci
0
Utilisateur anonyme
15 févr. 2005 à 08:13
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
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
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
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
919
15 mars 2007 à 19:13
salut,

à ce niveau là le meilleur conseil que tu puisses recevoir c'est de te documenter !
en premier tu devrais lire ça.
;o)
0
Scandaleuz
Messages postés
11
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
8 décembre 2007

4 juil. 2007 à 10:10
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
Tu devrais utiliser Notepad++
0
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
http://www.siteduzero.com/tutoriel-3-37795-creer-un-menu-horizontal-deroulant-en-css.html
0
atomics > Toinou
1 déc. 2008 à 09:47
Merci beaucoup :)
0
web-actu
Messages postés
99
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
6
21 janv. 2009 à 16:33
Merci a tous :-o) lol !!
2
darkscythe
Messages postés
23
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
18 février 2009
1
17 févr. 2009 à 08:37
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
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
919
17 févr. 2009 à 13:32
salut,

ouvre un fil pour ta question, tu es HS !
-;o)
0
darkscythe
Messages postés
23
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
18 février 2009
1 > Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016

17 févr. 2009 à 14:40
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
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
13 mai 2009 à 21:23
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
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
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
Bloodman
Messages postés
69
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
13 juillet 2005
2
12 avril 2005 à 19:38
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
strale
Messages postés
1
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
31 août 2011

13 mai 2009 à 17:05
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
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
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
919
2 mars 2008 à 20:11
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
InAme19
Messages postés
536
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
63
29 oct. 2008 à 14:32
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
web-actu
Messages postés
99
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
21 août 2009
6
16 nov. 2008 à 16:22
suis plus anonyme
et j'étais riridi
1