Menu déroulant html css

Fermé
reso101 Messages postés 34 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 21 octobre 2012 - 25 août 2012 à 22:50
reso101 Messages postés 34 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 21 octobre 2012 - 26 août 2012 à 15:46
Bonjour,



j'ai besoin d'aide pour adapter plusieurs codes que j'ai trouvé sur internet. Je n'y connais pas grand chose en HTML et CSS ce pourquoi je souhaite tomber sur une âme charitable qui pourrait m'aiguiller.

Mon but est de créer un menu déroulant sous ce que j'ai déjà effectué. Celui que j'ai ne fonctionne pas et je vois pas pourquoi.

Il ne sert à rien de m'envoyer vers différents liens ou tutoriaux, je ne saurai pas les adapter.

Merci par avance pour votre aide


HTML


<div id="menu">

<li class="current"><a href="#">Accueil</a></li>
<li><a href="#">Qui sommes nous ?</a></li>
	<ul class="menuderoulant">
		  <li><a href="#2">sous menu a</a></li>
		  <li><a href="#3">sous menu b</a></li>
                  <li><a href="#4">sous menu c</a></li>		
      	</ul>
<li><a href="#">Circuits</a></li>
<li><a href="#">L'Inde du sud</a></li>
<li><a href="#">Photos</a></li>
<li><a href="#">Contact</a></li>

</div>



CSS


#menu { 
  list-style-type: none;
  border-top:#fff solid 5px;
  background-color:#000033; 
  width:1000px; height:35px;
  }

#menu li {
	float:left;
	left: 30px;
}

#menu li a {
	display:block;
	color:#fff;
	font-size:13px;
	font-weight:bold;
	text-decoration:none;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	text-align:center;
	margin-top:3px;
	border-right: 10px solid #000033;
	border-left: 10px solid #000033;
	cursor:pointer;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 6px;
	padding-left: 10px;
  }

#menu li a:hover { 
  background-color:#98869c;
  }
  
#menu li.current a { 
  background-color:#77b800;
  }

#menu .menuderoulant      
{
display: none;
list-style-type: none;
margin: 0;
padding: 0;
border: 0;
position:absolute;
}
#menu .menuderoulant li
{
margin: 0;
padding: 0;
border: 0;
width: 140px;
}
#menu .menuderoulant li a
{
display: block;
color: #FFF;
margin: 0;
border: 0;
text-decoration: none;
}
#menu .menuderoulant li a:hover
{
background-color: #eab;
}

#menu .menuderoulant li a:visited {
background-color: #9933CC;
}

#menu li:hover > .menuderoulant { display: block; }

A voir également:

4 réponses

Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
26 août 2012 à 11:32
Bonjour,

Et avec ça ?

#menu li:hover > .menuderoulant {display:block;}

<ul id="menuX">

<li class="current"><a href="#">Accueil</a></li>
<li>
<a href="#">Qui sommes nous ?</a>
<ul class="menuderoulant">
<li><a href="#2">sous menu a</a></li>
<li><a href="#3">sous menu b</a></li>
<li><a href="#4">sous menu c</a></li>
</ul>
</li>
<li><a href="#">Circuits</a></li>
<li><a href="#">L'Inde du sud</a></li>
<li><a href="#">Photos</a></li>
<li><a href="#">Contact</a></li>

</ul>
0
reso101 Messages postés 34 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 21 octobre 2012 2
26 août 2012 à 13:59
Bonjour Bertrand 40, Merci pour ta réponse car cela fonctionne.

juste quelques petits réglages et tout serait parfait

J'essaie de centrer les sous menus en colonne et sous le menu circuits.

Aurais tu une idée pour que cela fonctionne

Encore un grand merci pour ton aide


------CSS------

#menu {
	list-style-type: none;
	background-color:#000033;
	width:959px;
	height: 35px;
  }

#menu li {
	float:left;
	left: 0px;
}

#menu li a {
	display:block;
	color:#fff;
	font-size:13px;
	font-weight:bold;
	text-decoration:none;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	text-align:center;
	cursor:pointer;
	padding-top: 6px;
	padding-right: 10px;
	padding-bottom: 6px;
	padding-left: 10px;
	margin-top: 3px;
  }

#menu li a:hover {
	background-color:#FF9900;
  }
  
#menu li.current a { 
  background-color:#77b800;
  }

#menu .menuderoulant      
{
	display: none;
	list-style-type: none;
	margin: 0;
	padding: 0;
	border: 0;
	position:absolute;
	background-color: #CCCCCC;
}
#menu .menuderoulant li
{
margin: 0;
padding: 0;
border: 0;
width: 140px;
}
#menu .menuderoulant li a
{
display: block;
color: #FFF;
margin: 0;
border: 0;
text-decoration: none;
}
#menu .menuderoulant li a:hover
{
	background-color: #FFCC33;
}

#menu .menuderoulant li a:visited {
background-color: #9933CC;
}

#menu li:hover > .menuderoulant { display: block; }


-----HTML-----
<ul id="menu"> 

<li class="current"><a href="#">Accueil</a></li> 
<li><a href="#">Qui sommes nous ?</a></li> 
<li><a href="#">Circuits</a>
<ul class="menuderoulant"> 
<li><a href="#2">sous menu a</a></li> 
<li><a href="#3">sous menu b</a></li> 
<li><a href="#4">sous menu c</a></li>	
</ul> </li> 
<li><a href="#">L'Inde du sud</a></li> 
<li><a href="#">Photos</a></li> 
<li><a href="#">Contact</a></li> 

</ul>
0
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
26 août 2012 à 14:32
Dans cette partie :

#menu li {
float:left;
left: 0px;
}

ajoute le >

A priori ça limitera le comportement des sous-listes à leur comportement normal.
Ce qui donne :

#menu > li {
float:left;
left: 0px;
}

Pour le centrage, je ne vois pas.

0
reso101 Messages postés 34 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 21 octobre 2012 2
26 août 2012 à 15:46
super, merci à nouveau pour cet élément qui fonctionne. Fallait trouver !!! ;)
Pour le centrage j'ai tout essayé mais rien n'y fait. Je continue.
0