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.
A voir également:

30 réponses

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
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
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Tu met un lien à a place d'un mot simple.

++
0
strale Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   > kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention  
 
Peux-tu donner un exemple pour mettre le lien à la place du text ? merci
0
Denis
 
Bonsoir
je n'arrive pas à ouvrir une page internet avec les boites.
Comment faire?
Merci
Denis
0
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
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
ad_creative Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   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
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
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
azerwhite Messages postés 625 Date d'inscription   Statut Membre Dernière intervention   43
 
Mon dieu pas en javascript, certain le désactive vaut mieux le faire en CSS
0
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
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
trik59 Messages postés 241 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
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
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

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

Posez votre question
web-actu Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   6
 
il a duré 3 ANS ce topic !!!!!!!!!!!!!!!!!!!!!!!!!
8
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
BartWadela Messages postés 562 Date d'inscription   Statut Membre Dernière intervention   107
 
4 maintenant !!
0
laelly
 
5 ;-) que le temps passe mais les sujets restent
0
uhu
 
6 =D
0
HAckProf
 
7 =P
0
BartWadela Messages postés 562 Date d'inscription   Statut Membre Dernière intervention   107
 
http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal
5
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
jacktoos Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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
snooz
 
mortel ton script merci
0
Utilisateur anonyme
 
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
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
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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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   Statut Membre Dernière intervention  
 
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
qpo
 
Tu devrais utiliser Notepad++
0
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
Toinou
 
http://www.siteduzero.com/tutoriel-3-37795-creer-un-menu-horizontal-deroulant-en-css.html
0
atomics > Toinou
 
Merci beaucoup :)
0
web-actu Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci a tous :-o) lol !!
2
darkscythe Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

ouvre un fil pour ta question, tu es HS !
-;o)
0
darkscythe Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   1 > Dalida Messages postés 6728 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
ben85350 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   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
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
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
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
strale Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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
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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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 539 Date d'inscription   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   6
 
suis plus anonyme
et j'étais riridi
1