Ave une jolie petite boucle je crée ainsi un menu vertical composé de plusieurs blocs les uns en dessous des autres. Sur la page dans un navigateur cela semble sans problème, par contre sous le capot et sous un validateur je me retrouve avec une duplication des "id" de mes balises <ul> ! Ma question serait donc de savoir ce que je devrais modifier dans mon bout de code point de vue html et css pour que cela soit mieux gérer et également le pourquoi du comment.
La source générée du menu :
Code
<div id="menugauche">
<ul id="gauche">
<li class="titremenu" title="L'une de nos catégories de produits">Logiciels</li>
<li><a href="/index.php?what=price" class="menu">Top Software : Gestion - Devis - Facturation</a></li>
<li><a href="/index.php?what=price" class="menu">Tout autres logiciels</a></li>
<li class="menbas"></li>
</ul>
<ul id="gauche">
<li class="titremenu" title="L'une de nos catégories de produits">Logiciels</li>
<li><a href="/index.php?what=price" class="menu">Top Software : Gestion - Devis - Facturation</a></li>
<li><a href="/index.php?what=price" class="menu">Tout autres logiciels</a></li>
<li class="menbas"></li>
</ul>
</div>
et ainsi de suite.
Le bout de CSS :
Code
.titremenu {
width: 175px;
padding-top: 8px;
padding-bottom: 8px;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
padding-left: 15px;
height: 15px;
text-align:left;
float:left;
background-image:url(images/menu_15.jpg);
background-repeat:no-repeat;
}
.menbas {
width:185px;
height: 24px;
text-align:left;
float:left;
background-image:url(images/menu_19.jpg);
}
#gauche {
position: relative;
width: 185px;
height: auto;
float: left;
background-color: #CCCCCC;
}
ul#gauche
{
margin: 0;
padding: 0;
list-style-type: none;
}
ul#gauche li
{
float: left;
text-align: left;
display: block;
}
ul#gauche li a
{
background-image:url(images/menu_17.jpg);
float:left;
width: 155px;
line-height: 25px;
padding-left: 30px;
display: block;
overflow: visible;
}/* C'est sur les liens que le gros du travail est effectué, largeur, hauteur de ligne, taille de police, graisse de police, espacement des lettres, couleur, bordure et decoration du texte. Nous pouvons dimensionner les a grâce à la propriété display: block; */
ul#gauche li a:hover
{
/*background: url(bg_menu.gif) repeat-x 0 0;*/
}
width: 175px;
padding-top: 8px;
padding-bottom: 8px;
font-size: 12px;
font-weight: bold;
color: #FFFFFF;
padding-left: 15px;
height: 15px;
text-align:left;
float:left;
background-image:url(images/menu_15.jpg);
background-repeat:no-repeat;
}
.menbas {
width:185px;
height: 24px;
text-align:left;
float:left;
background-image:url(images/menu_19.jpg);
}
#gauche {
position: relative;
width: 185px;
height: auto;
float: left;
background-color: #CCCCCC;
}
ul#gauche
{
margin: 0;
padding: 0;
list-style-type: none;
}
ul#gauche li
{
float: left;
text-align: left;
display: block;
}
ul#gauche li a
{
background-image:url(images/menu_17.jpg);
float:left;
width: 155px;
line-height: 25px;
padding-left: 30px;
display: block;
overflow: visible;
}/* C'est sur les liens que le gros du travail est effectué, largeur, hauteur de ligne, taille de police, graisse de police, espacement des lettres, couleur, bordure et decoration du texte. Nous pouvons dimensionner les a grâce à la propriété display: block; */
ul#gauche li a:hover
{
/*background: url(bg_menu.gif) repeat-x 0 0;*/
}
@