Problème menu déroulant javascript + CSS
Résolu/Fermé
biguiz
-
12 juin 2008 à 17:45
shangocubano Messages postés 2 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 13:59
shangocubano Messages postés 2 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 13:59
A voir également:
- Problème menu déroulant javascript + CSS
- Menu déroulant excel - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Excel menu déroulant en cascade - Guide
- Telecharger javascript - Télécharger - Langages
- Supprimer menu déroulant excel - Forum Excel
6 réponses
shangocubano
Messages postés
2
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
17 février 2009
8
17 févr. 2009 à 13:59
17 févr. 2009 à 13:59
Je repare ton code , maintenant tu peut l'utiliser
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS</title>
<script type="text/javascript">
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
</script>
CSS:
<style type="text/css">
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
width: 137px;
}
#menuderoulant {
top: 0;
left: 0;
z-index: 100;
height: 23px;
width: 137px;
position: relative;
}
#menuderoulant dl {
width: 137px;
}
#menuderoulant dt {
cursor: pointer;
background-image:url(images/menu3.jpg);
width: 137px;
height: 23px;
color: #006600;
font-family: "Helvetica Neue";
font-size: 14px;
}
#menuderoulant li {
background-image: url(<?php echo $chemin?>images/menu3.jpg);
text-align: left;
width: 137px;
border: 1px solid white;
}
#menuderoulant li a, #menuderoulant dt a {
color: #006600;
text-decoration: none;
display: block;
width:inherit;
}
#menuderoulant li a:hover, #menuderoulant dt a:hover {
color: #00216B;
width: 137px;
}
#menuderoulant ul a:hover {
width: 137px;
}
#menuderoulant ul a:hover {
width: 137px;
}
</style>
</head>
<body>
<div id="menuderoulant">
<dl onMouseOver="javascript:montre('smenu1');" onmouseout="javascript:montre('smenu1');">
<dt><table width="100%"><tr>
<td valign="middle" align="center">Loisirs & Sports </td>
</tr></table></dt>
<dd id="smenu1">
<ul>
<li><a href="#"><strong>•</strong> Parcs d'attraction</a></li>
<li><a href="#"><strong>•</strong> Tourisme fluvial</a></li>
<li><a href="#"><strong>•</strong> Centres équestres</a></li>
<li><a href="#"><strong>•</strong> Sports mécaniques</a></li>
<li><a href="#"><strong>•</strong> Circuits VTT</a></li>
<li><a href="#"><strong>•</strong> Voies vertes</a></li>
<li><a href="#"><strong>•</strong> Sports nautiques</a></li>
<li><a href="#"><strong>•</strong> Golf</a></li>
<li><a href="#"><strong>•</strong> Piscines</a></li>
<li><a href="#"><strong>•</strong> Bowling, billard</a></li>
<li><a href="#"><strong>•</strong> Discothèques</a></li>
</ul>
</dd>
</dl>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS</title>
<script type="text/javascript">
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
</script>
CSS:
<style type="text/css">
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
width: 137px;
}
#menuderoulant {
top: 0;
left: 0;
z-index: 100;
height: 23px;
width: 137px;
position: relative;
}
#menuderoulant dl {
width: 137px;
}
#menuderoulant dt {
cursor: pointer;
background-image:url(images/menu3.jpg);
width: 137px;
height: 23px;
color: #006600;
font-family: "Helvetica Neue";
font-size: 14px;
}
#menuderoulant li {
background-image: url(<?php echo $chemin?>images/menu3.jpg);
text-align: left;
width: 137px;
border: 1px solid white;
}
#menuderoulant li a, #menuderoulant dt a {
color: #006600;
text-decoration: none;
display: block;
width:inherit;
}
#menuderoulant li a:hover, #menuderoulant dt a:hover {
color: #00216B;
width: 137px;
}
#menuderoulant ul a:hover {
width: 137px;
}
#menuderoulant ul a:hover {
width: 137px;
}
</style>
</head>
<body>
<div id="menuderoulant">
<dl onMouseOver="javascript:montre('smenu1');" onmouseout="javascript:montre('smenu1');">
<dt><table width="100%"><tr>
<td valign="middle" align="center">Loisirs & Sports </td>
</tr></table></dt>
<dd id="smenu1">
<ul>
<li><a href="#"><strong>•</strong> Parcs d'attraction</a></li>
<li><a href="#"><strong>•</strong> Tourisme fluvial</a></li>
<li><a href="#"><strong>•</strong> Centres équestres</a></li>
<li><a href="#"><strong>•</strong> Sports mécaniques</a></li>
<li><a href="#"><strong>•</strong> Circuits VTT</a></li>
<li><a href="#"><strong>•</strong> Voies vertes</a></li>
<li><a href="#"><strong>•</strong> Sports nautiques</a></li>
<li><a href="#"><strong>•</strong> Golf</a></li>
<li><a href="#"><strong>•</strong> Piscines</a></li>
<li><a href="#"><strong>•</strong> Bowling, billard</a></li>
<li><a href="#"><strong>•</strong> Discothèques</a></li>
</ul>
</dd>
</dl>
</div>
</body>
</html>
Tiller
Messages postés
781
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
14 septembre 2008
211
12 juin 2008 à 17:52
12 juin 2008 à 17:52
A priori pas de problème avec moi... ni sous FX ni sous safari...
http://tiller.sama.hd.free.fr/CCM/test.php
http://tiller.sama.hd.free.fr/CCM/test.php
Oui j'avais fais un test comme ça et je n'avais pas le problème. Ca doit venir du fait que cette partie de mon menu se trouve en milieu de page.
Peut être que si vous mettiez ce menu au milieu de la page vous verriez le problème. Car il se peut que sur votre page, les sous menus se soient prolongés sur la droite mais vu qu'il est collés à gauche, le prolongement s'arrête à temps pour ne pas agrandir la page...
Remplacez ce bout dans le CSS, ça sera peut être plus parlant car là le texte devrait suivre ce prolongement et se décaler à droite du menu :
#menuderoulant li {
background-image: url(<?php echo $chemin?>images/menu3.jpg);
text-align: left; ======> mettre center à la place
width: 137px;
border: 1px solid white;
}
Peut être que si vous mettiez ce menu au milieu de la page vous verriez le problème. Car il se peut que sur votre page, les sous menus se soient prolongés sur la droite mais vu qu'il est collés à gauche, le prolongement s'arrête à temps pour ne pas agrandir la page...
Remplacez ce bout dans le CSS, ça sera peut être plus parlant car là le texte devrait suivre ce prolongement et se décaler à droite du menu :
#menuderoulant li {
background-image: url(<?php echo $chemin?>images/menu3.jpg);
text-align: left; ======> mettre center à la place
width: 137px;
border: 1px solid white;
}
Tiller
Messages postés
781
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
14 septembre 2008
211
12 juin 2008 à 18:04
12 juin 2008 à 18:04
Aucun changement, ne pourrais t'on pas carrement voir ta page?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ma page n'est malheureusement pas en ligne... J'essaierai de la mettre en ligne demain midi si le problème n'est toujours pas résolu.
Donc en changeant le CSS comme je t'ai dis, le texte reste bien sous le menu ?
Si c'est le cas, le problème pourrait venir de la div générale englobant le menu... Je verrai demain matin.
Merci de ton aide, je donne des nouvelles demain !
Donc en changeant le CSS comme je t'ai dis, le texte reste bien sous le menu ?
Si c'est le cas, le problème pourrait venir de la div générale englobant le menu... Je verrai demain matin.
Merci de ton aide, je donne des nouvelles demain !
Bon ben en fait j'ai toruvé !!!
Ca venait d'une classe CSS sur le menu général #menu a:link, a,visited où j'avais donné comme largeur 1134px, largeur correspondant à la largeur globale du menu. Or là en fait ça me passait mes cellules ayant un lien vers une autre page en largeur 1134px, c qui est logique vu mon CSS.
Voilà ce qu'il fallait que je fasse :
#menu
width : 1134px
#menu a:link, a:visited
width : 100px (correspondant à la largeur de mes "li")
Merci quand même de votre aide ;)
Ca venait d'une classe CSS sur le menu général #menu a:link, a,visited où j'avais donné comme largeur 1134px, largeur correspondant à la largeur globale du menu. Or là en fait ça me passait mes cellules ayant un lien vers une autre page en largeur 1134px, c qui est logique vu mon CSS.
Voilà ce qu'il fallait que je fasse :
#menu
width : 1134px
#menu a:link, a:visited
width : 100px (correspondant à la largeur de mes "li")
Merci quand même de votre aide ;)