Bonjour à tous !

Alors voilà, j'ai voulu intégrer un menu déroulant horizontal (made in Alsa) dans un gabarit (made in Alsa too) qui convient plutôt bien à la structure du nouveau site que je dois créer.

Après diverses adaptations je me retrouve avec un code valide mais un affichage déficient sous IE, du moins en ce qui concerne le menu déroulant horizontal qui s'aligne sur le bord gauche de la div id="centre" au lieu de s'aligner sur le bord gauche du conteneur (div id="conteneur").

C'est là que ça se passe, je n'ai volontairement pas encore séparé styles et html.

Permettez-moi de solliciter votre aide !


<div id="haut">
    <div id="menu">
      <dl>
        <dt onmouseover="javascript:montre();"><a href="#" title="Pr&eacute;sentation de Motor Avenue">Pr&eacute;sentation</a></dt>
      </dl>
      <dl>
        <dt style="background:#D81E1E;" onmouseover="javascript:montre('smenu1');">Annonces 1 </dt>
        <dd id="smenu1">
          <ul>
            <li><a href="#" title="S&eacute;l&eacute;ction du jour">S&eacute;l&eacute;ction du jour</a></li>
            <li><a href="#" title="Occasions des professionnels">Occasions des professionnels</a></li>
            <li><a href="#" title="Motos neuves disponibles">Motos neuves disponibles</a></li>
            <li><a href="#" title="R&eacute;f&eacute;rences moto">R&eacute;f&eacute;rences moto</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#C49A5B;" onmouseover="javascript:montre('smenu2');">Moto 2 </dt>
        <dd id="smenu2">
          <ul>
            <li><a href="#" title="Constructeurs">Constructeurs</a></li>
            <li><a href="#" title="Equipements">Equipements</a></li>
            <li><a href="#" title="Assurance">Assurance</a></li>
            <li><a href="#" title="Focus">Focus</a></li>
            <li><a href="#" title="M&eacute;tiers de la moto">M&eacute;tiers de la moto</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#FF9C22;" onmouseover="javascript:montre('smenu3');">Pratiquer 3 </dt>
        <dd id="smenu3">
          <ul>
            <li><a href="#" title="Avec une copine">Avec une copine</a></li>
            <li><a href="#" title="Actualit&eacute;">Actualit&eacute;</a></li>
            <li><a href="#" title="Evasion">Evasion</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#92B9C3;" onmouseover="javascript:montre('smenu4');">Agenda 4 </dt>
        <dd id="smenu4">
          <ul>
            <li><a href="#" title="Agenda">Agenda</a></li>
            <li><a href="#" title="Ev&egrave;nements">Ev&egrave;nements</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#687073;" onmouseover="javascript:montre('smenu5');">S&eacute;curit&eacute; 5 </dt>
        <dd id="smenu5">
          <ul>
            <li><a href="#" title="Espace pr&eacute;vention">Espace pr&eacute;vention</a></li>
            <li><a href="#" title="Les chiffres">Les chiffres</a></li>
          </ul>
        </dd>
      </dl>
    </div>
  </div>




#haut {
position:absolute;
top:50px;
left:auto;
width:732px;
height:18px;
}
#conteneur {
width:738px;
margin:0 auto;
background-color:#CCCCFF;
border:#246494;
border-width:1px;
border-style:solid;
}


#menuhaut {
list-style-type: none;
margin: 0;
padding:0;
}
#menuhaut li {
display: inline;
}
#menuhaut a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menuhaut a:hover {
text-decoration: none;
}
#menugauche {
list-style-type: none;
margin: 0;
padding:0;
}
#menugauche li {
margin-bottom: 5px;
}
#menugauche a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menugauche a:hover {
text-decoration: none;
}
#menudroit {
list-style-type: none;
margin: 0;
padding:0;
}
#menudroit li {
margin-bottom: 5px;
}
#menudroit a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menudroit a:hover {
text-decoration: none;
}

dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}

dt { color:#FFFFFF;
}

#menu {
position:absolute; /* placement du menu, à modifier selon vos besoins */
top: 0;
left: 0;
z-index:100;
width: 739px; /* correction pour Opera */
}
#menu dl {
float: left;
width: 9.6em;
}
#menu dt {
cursor: pointer;
text-align: center;
font-weight: bold;
background:#808000;
border: 1px solid gray;
margin: 1px;
}
#menu dd {
display: none;
border: 1px solid gray;
}
#menu li {
text-align: center;
background: #fff;
}
#menu li a, #menu dt a {
color: black; /* Couleur du texte Moto et Accueil */
text-decoration: none;
display: block;
height: 100%;
border: 0 none;
}
#menu li a:hover, #menu li a:focus, #menu dt a:hover, #menu dt a:focus {
background:#D4D4A8;
}

#menu li a:hover, #menu li a:focus, #menu dt a:hover, #menu dt a:focus {
background:#D4D4A8;
}

#smenu1 li a:hover, #smenu1 li a:focus {
background:#EFCACA;
}
#smenu2 li a:hover, #smenu2 li a:focus {
background:#EBE3D6;
}
#smenu3 li a:hover, #smenu3 li a:focus {
background:#F7E3CB;
}
#smenu4 li a:hover, #smenu4 li a:focus {
background:#DAE2E5;
}

#smenu5 li a:hover, #smenu4 li a:focus {
background:#D8D9DA;
}

#menu dt a { 
color: white;
}

#site {
position: absolute;
z-index: 1;
top : 70px;
left : 10px;
color: #000;
background-color: #ddd;
padding: 5px;
border: 1px solid gray; 
}

#smenu1 li {
color:#000000;
}
/* Couleur du texte dans les listes*/
dd#smenu1 li a {color:#D81E1E;} 
dd#smenu2 li a {color:#C49A5B;} 
dd#smenu3 li a {color:#FF9C22;} 
dd#smenu4 li a {color:#92B9C3;} 
dd#smenu5 li a {color:#687073;} 

Modifié par karnabal (31 May 2006 - 12:32)
Bonjour,

Je suis allé sur ton site et j'ai demandé à voir le source. En supprimant la balise
</div>
après
<div id="header"> Header
et en la plaçant avant ton
<div id="gauche">
je pense que ça ressemble plus à ce que tu souhaites avoir comme résultat.
En fait ton menu doit se situer dans ton bloc supérieur ?

Je ne suis pas d'un grand secours mais comme je débute, j'aime bien chercher à comprendre Smiley cligne
Je crois que ça doit ressembler a ce que tu veux si tu ajoutes:
#menu {
position:absolute; /* placement du menu, à modifier selon vos besoins */
padding:0;
margin:0;
width: 739px; /* correction pour Opera */
}


et
#haut {
position:relative;
width:732px;
height:18px;
}


C'est bon là ?
Modifié par broadcastor (30 May 2006 - 18:10)
Merci codascii mais si avec ta méthode on semble s'approcher du résultat on n'y parvient tout de même pas encore : interprétation différente des navigateurs avec l'espace à gauche du menu de navigation.

broadcastor le résultat de ta suggestion se trouve .

Je me retrouve de nouveau avec un problème de texte repoussé sous Firefox, et de div repoussées sous IE (voilà pourquoi j'avais positionné #haut en absolu). Pour info, je ne parviens pas non plus à mes fins en faisant varier le z-index de mes div.

Help !
Modifié par karnabal (31 May 2006 - 09:18)
Ah javais du oublier de te refiler une ou deux lignes que j'ai modifié, donc je prend pas de risque, je te colle tout ! Normalement c'est bon là.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"
lang="fr">
<head>
<meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1" />
<title>Mod&egrave;le</title>
<style type="text/css">
/********************************************
*	Général									*
*											*
*											*
********************************************/

html { background-color:#000000;
font-size:12px;
}

body {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0;
}
p {
margin: 0 0 10px 0;
}
#header {
height: 50px;
background-color: #99CCCC;
}
#haut {
position:relative;
width:732px;
height:18px;
}

#conteneur {
width:738px;
margin:0 auto;
background-color:#CCCCFF;
border:#246494;
border-width:1px;
border-style:solid;
}
#centre {
background-color:#9999CC;
margin-top:18px;
margin-left: 122px;
margin-right: 0px;
}
#gauche {
float:left;
margin-top:18px;
width: 122px;
background-color:#00CCFF;
}
#pied {
clear:both;
height: 30px;
background-color: #99CC99;
}

/********************************************
*	Menu / Navigation						*
*											*
*											*
********************************************/
#menuhaut {
list-style-type: none;
margin: 0;
padding:0;
}
#menuhaut li {
display: inline;
}
#menuhaut a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menuhaut a:hover {
text-decoration: none;
}
#menugauche {
list-style-type: none;
margin: 0;
padding:0;
}
#menugauche li {
margin-bottom: 5px;
}
#menugauche a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menugauche a:hover {
text-decoration: none;
}
#menudroit {
list-style-type: none;
margin: 0;
padding:0;
}
#menudroit li {
margin-bottom: 5px;
}
#menudroit a {
margin: 0 2px;
color: #000000;
text-decoration: underline;
}
#menudroit a:hover {
text-decoration: none;
}

dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}

dt { color:#FFFFFF;
}

#menu {
position:absolute; /* placement du menu, à modifier selon vos besoins */
padding:0;
margin:0;
width: 739px; /* correction pour Opera */
}

#menu dl {
float: left;
width: 9.6em;
}
#menu dt {
cursor: pointer;
text-align: center;
font-weight: bold;
background:#808000;
border: 1px solid gray;
margin: 1px;
}
#menu dd {
display: none;
border: 1px solid gray;
}
#menu li {
text-align: center;
background: #fff;
}
#menu li a, #menu dt a {
color: black; /* Couleur du texte Moto et Accueil */
text-decoration: none;
display: block;
height: 100%;
border: 0 none;
}
#menu li a:hover, #menu li a:focus, #menu dt a:hover, #menu dt a:focus {
background:#D4D4A8;
}

#menu li a:hover, #menu li a:focus, #menu dt a:hover, #menu dt a:focus {
background:#D4D4A8;
}

#smenu1 li a:hover, #smenu1 li a:focus {
background:#EFCACA;
}
#smenu2 li a:hover, #smenu2 li a:focus {
background:#EBE3D6;
}
#smenu3 li a:hover, #smenu3 li a:focus {
background:#F7E3CB;
}
#smenu4 li a:hover, #smenu4 li a:focus {
background:#DAE2E5;
}

#smenu5 li a:hover, #smenu4 li a:focus {
background:#D8D9DA;
}

#menu dt a { 
color: white;
}

#site {
position: absolute;
z-index: 1;
top : 70px;
left : 10px;
color: #000;
background-color: #ddd;
padding: 5px;
border: 1px solid gray; 
}

#smenu1 li {
color:#000000;
}
/* Couleur du texte dans les listes*/
dd#smenu1 li a {color:#D81E1E;} 
dd#smenu2 li a {color:#C49A5B;} 
dd#smenu3 li a {color:#FF9C22;} 
dd#smenu4 li a {color:#92B9C3;} 
dd#smenu5 li a {color:#687073;} 
    </style>
<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>
</head>
<body>
<div id="conteneur">
  <div id="header"> Header</div>
  <div id="haut">
    <div id="menu">
      <dl>
        <dt onmouseover="javascript:montre();"><a href="#" title="Pr&eacute;sentation de Motor Avenue">Pr&eacute;sentation</a></dt>
      </dl>
      <dl>
        <dt style="background:#D81E1E;" onmouseover="javascript:montre('smenu1');">Annonces 1 </dt>
        <dd id="smenu1">
          <ul>
            <li><a href="#" title="S&eacute;l&eacute;ction du jour">S&eacute;l&eacute;ction du jour</a></li>
            <li><a href="#" title="Occasions des professionnels">Occasions des professionnels</a></li>
            <li><a href="#" title="Motos neuves disponibles">Motos neuves disponibles</a></li>
            <li><a href="#" title="R&eacute;f&eacute;rences moto">R&eacute;f&eacute;rences moto</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#C49A5B;" onmouseover="javascript:montre('smenu2');">Moto 2 </dt>
        <dd id="smenu2">
          <ul>
            <li><a href="#" title="Constructeurs">Constructeurs</a></li>
            <li><a href="#" title="Equipements">Equipements</a></li>
            <li><a href="#" title="Assurance">Assurance</a></li>
            <li><a href="#" title="Focus">Focus</a></li>
            <li><a href="#" title="M&eacute;tiers de la moto">M&eacute;tiers de la moto</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#FF9C22;" onmouseover="javascript:montre('smenu3');">Pratiquer 3 </dt>
        <dd id="smenu3">
          <ul>
            <li><a href="#" title="Avec une copine">Avec une copine</a></li>
            <li><a href="#" title="Actualit&eacute;">Actualit&eacute;</a></li>
            <li><a href="#" title="Evasion">Evasion</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#92B9C3;" onmouseover="javascript:montre('smenu4');">Agenda 4 </dt>
        <dd id="smenu4">
          <ul>
            <li><a href="#" title="Agenda">Agenda</a></li>
            <li><a href="#" title="Ev&egrave;nements">Ev&egrave;nements</a></li>
          </ul>
        </dd>
      </dl>
      <dl>
        <dt style="background:#687073;" onmouseover="javascript:montre('smenu5');">S&eacute;curit&eacute; 5 </dt>
        <dd id="smenu5">
          <ul>
            <li><a href="#" title="Espace pr&eacute;vention">Espace pr&eacute;vention</a></li>
            <li><a href="#" title="Les chiffres">Les chiffres</a></li>
          </ul>
        </dd>
      </dl>
    </div>
  </div>
  <div id="gauche">
    <p>fgqsd</p>
    <p>ligne 2</p>
  </div>
  <div id="centre">
    <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque  vitae odio nec augue mollis varius. Maecenas congue tristique felis.  Curabitur convallis auctor risus. Lorem ipsum dolor sit amet,  consectetuer adipiscing elit. Etiam pede turpis, viverra nonummy,  ullamcorper at, fermentum quis, libero. Nunc a justo. Fusce sapien.  Vestibulum consectetuer, velit ut posuere faucibus, sapien mi imperdiet  ipsum, vitae hendrerit sapien orci vestibulum ipsum. Suspendisse id  erat consectetuer diam suscipit sollicitudin. Nunc feugiat magna eu  risus. Aenean libero nibh, vestibulum elementum, vulputate et,  fermentum nec, libero. Nunc pharetra velit non orci pretium volutpat.  Nam faucibus nisi rutrum leo. </p>
    <p>Donec non erat. Nullam mollis urna ultricies nibh. Donec id tellus  id dui auctor pretium. In malesuada mollis nulla. Mauris turpis augue,  laoreet vitae, dapibus non, nonummy sed, metus. Cras tincidunt purus ac  nisi. Ut quis sapien. Donec dignissim. Aliquam rhoncus augue tincidunt  nisi. Quisque risus quam, dictum et, scelerisque et, porttitor et,  elit. Cras rutrum ante vel elit. Nunc fringilla nisl non urna. Cras  ultrices. Aliquam dictum, nibh pretium pellentesque porttitor, enim  nulla egestas quam, et tincidunt tellus augue gravida risus. Sed eget  lacus sed lectus malesuada sollicitudin. Nunc lobortis, odio in  fermentum dapibus, elit nisi commodo elit, non luctus purus metus a  lacus. </p>
    <p>Donec non erat. Nullam mollis urna ultricies nibh. Donec id tellus  id dui auctor pretium. In malesuada mollis nulla. Mauris turpis augue,  laoreet vitae, dapibus non, nonummy sed, metus. Cras tincidunt purus ac  nisi. Ut quis sapien. Donec dignissim. Aliquam rhoncus augue tincidunt  nisi. Quisque risus quam, dictum et, scelerisque et, porttitor et,  elit. Cras rutrum ante vel elit. Nunc fringilla nisl non urna. Cras  ultrices. Aliquam dictum, nibh pretium pellentesque porttitor, enim  nulla egestas quam, et tincidunt tellus augue gravida risus. Sed eget  lacus sed lectus malesuada sollicitudin. Nunc lobortis, odio in  fermentum dapibus, elit nisi commodo elit, non luctus purus metus a  lacus. </p>
    <p>&nbsp;</p>
  </div>
  <div id="pied"> pied de page (se place en dessous des éléments flottants grâce à <code>clear:both;</code>) </div>
</div>
</body>
</html>

Modifié par broadcastor (31 May 2006 - 11:03)
Bah ouais, comme tu dis broadcastor, c'est même tout bon !

Merci beaucoup pour ton aide.

[Réglé]