28172 sujets

CSS et mise en forme, CSS3

Bonjour.

Dans mon menu, j'en ai un qui ouvre un menu qui contient un sous-menu avec des années.
Je voudrai créer pour chaque année un autre sous-menu seulement voilà je ne sais pas comment faire.
je vous donne tout le code
<style type="text/css" media="screen">
body {
	margin: 0;
	padding: 0;
	background: #FFFFFF;
	font-family: arial;
	font-size:14px;
	color:blue;
}
/*==========================*/
/*mise en forme menu gauche*/
#menu {
	position: relative;
	margin-top: 10px;
}
#menu dt {
	border: 1px solid gray;
	text-align: center;
	font-family:arial;
	background: #FFFF99;
	height: 41px;
	line-height: 31px;
	width: 150px;
}
#menu dd {
	position: absolute;
	z-index: 100;
	left: 110px;
	margin-top: -40px;
	width: 100px;
	background: #A9BFCB;
	border: 1px solid gray;
	font-size : 12px;
	text-align: left;
}
#menu ul {
	padding: 2px;
}
#menu li {
	height: 20px;
	line-height: 20px;
}
#menu li a {
	color: #000;
	text-decoration: none;
	display: block;
}
#menu li a:hover {
	background: beige;
}
#menu dd, dt a:hover {
	color: #000;
	background: #A9BFCB;

}
dl,dt,ul,li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#conteneur {
	width: 100%;
	margin-left: 15px;
	margin-top: 10px;
	height: auto;
	height: 600px;
	background-color:#FFFFFF;
	font-size: 14px;
}
</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>
<body>
<table border="0" style="margin-left:7px">
	<tr>
		<td valign="top" width="120px">
			<div id="menu">
			<!-- Menu  -->
			<dl id="menu">
				<dt><a href="index.php?page=accueil">Accueil</a></dt>
				<dt><a href="index.php?page=comite_directeur">Comité Directeur</a></dt>
				<dt><a href="index.php?page=la_structure_du_codep31">Structure du Codep</a></dt>
				<dt><a href="index.php?page=liste_des_clubs">Liste des Clubs</a></dt>
				<dt><a href="index.php?page=calendrier">Calendrier</a></dt>
				<dt><a href="index.php?page=challenge">Challenge</a></dt>
				<dt onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();"><a href="#">Echos du Codep</a></dt>
					<dd id="smenu1" onmouseover="javascript:montre('smenu1')" onmouseout="javascript:montre();">
						<ul>
							<li><a href="#">Année 2008</a></li>
							<li><a href="#">Année 2007</a></li>
							<li><a href="#">Année 2006</a></li>
							<li><a href="#">Année 2005</a></li>
						</ul>
				</dd></dt>
				<dt><a href="index.php?page=albums">Albums</a></dt>
				<dt><a href="#"></a></dt>
				<dt><a href="index.php?page=ag">AG</a></dt>
				<dt><a href="index.php?page=documents">Documents</a></dt>
				<dt><a href="index.php?page=reglementtourHG">Tour de la <br />Hte Garonne</a></dt>
			</dl>
			</div>
		</td>
		<td valign="top">
			<div id="conteneur">
			<?php 
			if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
			 switch($page)
			{
			//menu principal
			case 'accueil': include ('accueil.htm');break;
			case 'comite_directeur': include ('comite_directeur.htm');break;
			case 'la_structure_du_codep31': include ('la_structure_du_codep31.htm');break;
			case 'liste_des_clubs': include ('liste_des_clubs.htm');break;
			case 'calendrier': include ('calendrier.htm');break;
			case 'challenge': include ('challenge.htm');break;
			case 'albums': include ('albums.htm');break;
			case 'ag': include ('ag.htm');break;
			case 'documents': include ('documents.htm');break;
			case 'reglementtourHG': include ('reglementtourHG.htm');break;
			//sous-menu
			case 'albums': include ('albums.htm');break;
			case 'ag': include ('ag.htm');break;
			case 'documents': include ('documents.htm');break;
			case 'reglementtourHG': include ('reglementtourHG.htm');break;
		} 
			?>
			</div>
		</td>

	</tr>
</table>
</body>


Merci d'avance pour votre aide
Bonjour philippef,

Tu as a priori utilisé le menu déroulant des tutoriels d'Alsacreations

Tu as dû survoler ce passage :
a écrit :

Plusieurs niveaux de sous-menus ?

Si vous tenez à créer plusieurs niveaux de sous-menus, il faut savoir que ce n'est pas possible avec cette méthode.

Tout simplement parce que les sous-menus sont structurés par des éléments <a>. Si on veut rajouter des sous-sous-menus, il faudrait imbriquer de nouveaux éléments <a> dans ceux existants. Or ceci est interdit : <a> ne peut pas contenir d'autres <a>.

Bref, il faut se tourner vers les autres solutions dans les liens donnés au début du tutoriel. Celles ci procèdent différemment, avec une surcouche javascript.

Tu peux donc suivre les liens et propositions alternatives proposées ou réfléchir posément sur l'utilité/utilisabilité/l'ergonomie/l'accessibilité de ce menu à plusieurs niveaux
Smiley cligne

Cdt,
Sylvain
Merci.

J'ai vu effectivement qu'on ne peut pas mettre une balise <a> dans une balise <a> donc je vais revoir ça