Bonjour,
Je cherche à styliser un menu.
J'étais persuadé que l'opération serait facile, ayant déjà eu à développer des menus de ce genre.
Sauf qu'il y a visiblement une subtilité qui m'échappe ici.
Voici à quoi doit ressembler le menu au repos :
http://spheerys.free.fr/alsa/menu/menu1.jpg
Une fois que l'utilisateur a cliqué sur Menu 1, je souhaite que le sous menu s'affiche de la sorte :
http://spheerys.free.fr/alsa/menu/menu2.jpg
Seulement problème, le sous-menu s'affiche SOUS les autres items du menu principal :
http://spheerys.free.fr/alsa/menu/menu3.jpg
Voilà ce que a donne en direct : http://spheerys.free.fr/alsa/menu/menu.html
Le code CSS :
Et le code HTML si besoin :
D'après mes investigations, ce chevauchement provient de la propriété suivante :
Or si je l'enlève, je ne parviens plus à caler l'image de fond des items du menu principal comme je veux :
http://spheerys.free.fr/alsa/menu/menu4.jpg
Bref, si vous avez une idée, elle est la bienvenue
Modifié par Spheerys (09 Jan 2007 - 00:58)
Je cherche à styliser un menu.
J'étais persuadé que l'opération serait facile, ayant déjà eu à développer des menus de ce genre.
Sauf qu'il y a visiblement une subtilité qui m'échappe ici.
Voici à quoi doit ressembler le menu au repos :
http://spheerys.free.fr/alsa/menu/menu1.jpg
Une fois que l'utilisateur a cliqué sur Menu 1, je souhaite que le sous menu s'affiche de la sorte :
http://spheerys.free.fr/alsa/menu/menu2.jpg
Seulement problème, le sous-menu s'affiche SOUS les autres items du menu principal :
http://spheerys.free.fr/alsa/menu/menu3.jpg
Voilà ce que a donne en direct : http://spheerys.free.fr/alsa/menu/menu.html
Le code CSS :
ul {
width: 200px;
}
ul li {
display: block;
list-style-image: none;
list-style-type: none;
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
font-weight: bold;
height: 29px;
background: transparent url(fond.png) top left repeat-x;
}
ul li a {
display: block;
width: 200px;
border-bottom: 0px;
padding: 3px 0 0 15px;
}
ul li:hover {
background: transparent url(fond.png) bottom left repeat-x;
}
ul ul {
display: none;
}
ul li.here ul {
display: block;
}
ul ul li:hover {
background-image: none;
}
ul ul li {
font-size: 10px;
font-weight: normal;
background-image: none;
height: inherit;
}
Et le code HTML si besoin :
<ul>
<li class="here"><a>Menu 1</a>
<ul>
<li><a>Sous-menu 1</a></li>
<li><a>Sous-menu 2</a></li>
<li><a>Sous-menu 3</a></li>
</ul>
</li>
<li><a>Menu 2</a>
<ul>
<li><a>Sous-menu 1</a></li>
<li><a>Sous-menu 2</a></li>
<li><a>Sous-menu 3</a></li>
<li><a>Sous-menu 4</a></li>
</ul>
</li>
<li><a>Menu 3</a>
<ul>
<li><a>Sous-menu 1</a></li>
</ul>
</li>
<li><a>Menu 4</a>
<ul>
<li><a>Sous-menu 1</a></li>
<li><a>Sous-menu 2</a></li>
<li><a>Sous-menu 3</a></li>
<li><a>Sous-menu 4</a></li>
<li><a>Sous-menu 5</a></li>
</ul>
</li>
</ul>
D'après mes investigations, ce chevauchement provient de la propriété suivante :
ul li { height: 29px; }
Or si je l'enlève, je ne parviens plus à caler l'image de fond des items du menu principal comme je veux :
http://spheerys.free.fr/alsa/menu/menu4.jpg
Bref, si vous avez une idée, elle est la bienvenue

Modifié par Spheerys (09 Jan 2007 - 00:58)