| Auteur | |
|---|---|
| musashi29 | # 30 Jun 2009 - 12:43:16 |
| 1 Posts |
Bonjour à tous, j'ai un problème de menu déroulant qui ne fonctionne que sous ie7! J'ai un décalage sur la gauche avec mon premier menu. Je vous joins l'adresse de fichier html : http://www.ville-scaer.fr/base/css/entete.html J'ai volontairement garder une bordure sur le tableau. Le fichier css : http://www.ville-scaer.fr/base/css/menu_style2.css Je ne situe pas le problème ... surement evident? Merci de vos réponses. |
| hb4 | # 30 Jun 2009 - 15:02:35 |
| 23 Posts |
Bonjour, Je n'ai pas vraiment compris ton problème puisque j'ai essayé sous mozilla et ie8 et le menu se déroule parfaitement. Sois plus clair peut être. |
| Laurie-Anne | # 30 Jun 2009 - 15:04:43 |
| Modérateur 5736 Posts |
Le menu ne fonctionne, effectivement pas avec IE6, et c'est tout à fait normal puisqu'IE6 ne sait pas interpréter la pseudo classe :hover sur tout autre élément que a. Un bon menu déroulant doit intégrer du Javascript. |
| titeuf | # 30 Jun 2009 - 18:11:34 |
| 4 Posts |
Laurie-Anne a écrit : Ou ajouter un "hack" pour IE6, très pratique pour justement permettre à IE6 de "comprendre" les :hover, :active et :focus 1. Télécharger le fichier.htc ici : http://www.xs4all.nl/~peterned/csshover.html#changes 2. Ajouter dans les <head> :
3. Vous pouvez utiliser les pseudo classes CSS :
c'est biennnn ! Sylvain |
| fvsch | # 30 Jun 2009 - 19:34:17 |
| Administrateur 19942 Posts |
titeuf a écrit : Sauf que ce «hack» c'est tout simplement un script JS. Et, selon moi, un bon menu déroulant doit utiliser JavaScript non pas seulement pour la compatibilité IE6 (à la rigueur on l'obtiendrait en rendant les items de premier niveau cliquables, et en faisant des pages d'index de rubrique... ce qui serait bien dans l'absolu). Un bon menu déroulant utilise JavaScript pour gérer la navigation au clavier, et optimiser l'ergonomie en limitant les fermetures intempestives de sous-menus. Modifié par Florent V. (30 Jun 2009 - 19:37) |
| titeuf | # 02 Jul 2009 - 10:06:06 |
| 4 Posts |
Florent V. a écrit : ok, mais peut importe ... c'est seulement pour le vieil IE6 a écrit : j'avoue que je n'avais jamais pensé à cela c'est vrai que mes items de premier niveau sont toujours cliquables a écrit : là je vois pas ? par exemple un menu comme ça : http://www.spip.cri01.org/spip.php?rubrique28 prblm ergonomique ? fermetures intempestives ? t'as un exemple contraire en JS qui va bien ? je suppose que tes menus restent accessibles même si JS et désactivé ? Modifié par titeuf (02 Jul 2009 - 10:07) Sylvain |
| fvsch | # 02 Jul 2009 - 10:53:51 |
| Administrateur 19942 Posts |
titeuf a écrit : Si le pointeur de la souris suit une trajectoire en diagonale pour aller d'un item de premier niveau à un item de second niveau (dans le sous-menu), il passe sur un autre item de premier niveau, ce qui a pour conséquence de fermer le premier sous-menu, d'en ouvrir un autre, etc. Bref, c'est la merde. Pour éviter ça, l'utilisateur doit: - oublier qu'on lui a appris que la trajectoire la plus courte entre deux points est la ligne droite; - déplacer le pointeur de la souris vers la droite, s'assurer qu'il est bien sur le sous-menu souhaité, et ensuite descendre le pointeur de la souris sur l'item de deuxième niveau souhaité. Si l'utilisateur n'a pas un contrôle parfait de ses mouvements (dans le cas d'un léger handicap moteur par exemple), c'est mort. Si l'utilisateur utilise le pavé tactile d'un ordinateur portable, c'est mort. Si... titeuf a écrit : Superfish avec le plugin HoverIntent est pas mal pour gérer accessibilité au clavier et limitation des fermetures intempestives. titeuf a écrit : Ça ne s'automatise pas et ça demande une bonne conception du menu. Qui peut aller jusqu'à ne présenter que les items de premier niveau si on a bien mis en place des index de rubriques (et index de sous-rubriques le cas échéant). |