28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous.

Je cherche à afficher un menu vertical lorsque l'on passe la souris sur l'un des item d'un menu horizontal.


<ul>
     <li><a>Blabla</a></li>
     <li><a>Bidule</a>
                            <ul>
                                 <li><a>Sous menu</a></li>
                            </ul>
     </li>
</ul>


Avec un type de menu comme celui-ci, je parviens à mes fins sous Firefox en utilisant li:hover et l'opérateur ">".

Sous IE 6.0, c'est une autre histoire, puisque seule la balise <a> fonctionne avec le :hover.

Avec un code de ce type:

<ul>
     <li><a>Blabla</a></li>
     <li><a>Bidule<ul>
                            <li><a>Sous menu</a></li>
                       </ul>
         </a>
     </li>
</ul>

Cela fonctionne à peu près sous IE 6 mais pas sous Firefox. De plus, cela ne respecte pas les normes du web.

J'aimerais donc si possible avoir de votre part des commentaires et suggestions sans recourir au javascript.
J'ai bien noté que Raphaël a fait un menu quasi identique à ce que je souhaite mais il utilise le javascript.

il doit surement y avoir un autre moyen...

Merci de votre aide
Modifié par metalivore (03 Sep 2007 - 16:14)
Modérateur
Salut,

Pourquoi ne veux-tu pas te servir de Javascript ?

Le comportement est son domaine (et non celui de CSS). Les possibilités sont d'ailleurs bien plus grandes et ça t'évite de sortir une bidouille qui sera, la plupart du temps, inaccessible.
Dans un cas sur 10, le javascript est désactivé tandis que les CSS...

Et puis je sais pas, je n'aime pas trop le javascript, je trouve que c'est un langage sale. Bien que, j'en conviens, c'est du code exécuté côté client et qu'il a plus sa place dans ce que je veux faire. Le CSS étant exclusivement pour le design.