28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je suis en train de mettre en application le tutoriel d'un menu déroulant horizontal en javascript trouvé sur ce site.

Tout se passe bien sauf lorsque je rajoute un formulaire juste en dessous du div du menu: sous IE le sous-menu qui se déroule passe en DESSOUS des éléments du formulaire! Mais ce problème n'apparaît pas sous Firefox.

Voici mon code:


<html>
<head>
<title>Menu deroulant horizontal</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>

<style type="text/css">
body {
margin: 0;
padding: 0;
background: white;
font: 80% verdana, arial, sans-serif;
}

div#mainmenu {
position: absolute;
z-index:100;
width: 100%;
}

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

#mainmenu dl {
float: left;
width: 12em;
margin: 0 1px;
}

#mainmenu dt {
cursor: pointer;
text-align: center;
font-weight: bold;
background: #ccc;
border: 1px solid gray;
}

#mainmenu dd {
border: 1px solid gray;
}

#mainmenu li {
text-align: center;
background: #fff;
}

#mainmenu li a, #mainmenu dt a {
color: #000;
text-decoration: none;
display: block;
height: 100%;
border: 0 none;
}

#mainmenu li a:hover, #mainmenu dt a:hover {
background: #eee;
}

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

div#userformcontainer {
width: 700px;
font-family: verdana, arial, sans-serif;
font-size: 80%;
background-color: #f7f7f7;
color: #000000;
}

#userformcontainer div {
display: inline;
vertical-align: middle;
background-color: #f7f7f7;
}
</style>
</head>
<body>
<div id="mainmenu">
  <dl>
  <dt onmouseover="javascript:montre();"><a href="" title="Retour à l'accueil">Accueil</a></dt>
  </dl>

  <dl>			
  <dt onmouseover="javascript:montre('smenu1');">Menu 1</dt>
  <dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre('');">
  <ul>
  <li><a href="#">Sous-Menu 1.1</a></li>
  <li><a href="#">Sous-Menu 1.2</a></li>
  <li><a href="#">Sous-Menu 1.3</a></li>
  <li><a href="#">Sous-Menu 1.4</a></li>
  </ul>
  </dd>
  </dl>
	
  <dl>	
  <dt onmouseover="javascript:montre('smenu2');">Menu 2</dt>
  <dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre('');">
  <ul>
  <li><a href="#">Sous-Menu 2.1</a></li>
  <li><a href="#">Sous-Menu 2.2</a></li>
  <li><a href="#">Sous-Menu 2.3</a></li>
  <li><a href="#">Sous-Menu 2.4</a></li>
  </ul>
  </dd>
  </dl>
</div>

<div id="site">
  <div id="userformcontainer">
  <form method="post" action="">
  <div><label>Date de validit&eacute;:</label></div>
  <div><select><option value="">annee</option></select></div>
  <div><select><option>listmonth</option></select></div>
  <div><select><option value="">date</select></div>
  <div><label>Crit&egrave;re:</label></div>
  <div><select><option value="">Quantit&eacute;</option></select></div>
  <div><label>P&eacute;riode:</label></div>
  <div><select><option value="">i</option></select></div>
  <div><input type="submit" value="Valider" /></div>
  </form>
  </div>
<h1>Test menu deroulant avec formulaire</h1>
</div>
</body>
</html>


Pouvez-vous s'il vous plaît me dire ce que j'ai mal fait?

Merci.

A+