Bonjour,
Je vous soumets mon problème de a:hover sur internet explorer en espérant que la réponse ne soit pas évidente (je n'ai pas trouvé d'infos à ce sujet).
Je veux faire un menu vertical en utilisant le flottement des éléments " li ". La petite difficulté est d'afficher une image en dessous des boutons du menu lorsque la souris survole le dit bouton ET aussi lorsque la souris survole la zone virtuelle de l'image (image par défaut en visibility:hidden).
J'ai écrit un peu de code pour illustrer mon problème : http://msfs.test.free.fr/default.html
(c'est pas joli mais ce n'est pas le but)
Explications de l'exemple.
Il y a deux tests différents (donc deux menus). Commencons par ce qui est commun aux deux test. Chaque élément " li " du menu contient une ancre qui elle-même contient du texte et une image. Les " li " sont bordés de rouge et les " a " de vert, pour plus lisibilité. Après le menu, il se trouve un " div " (background en gris) dans lequel se trouve un paragraphe (blabla) et une image (en bleu gris). Ces derniers éléments sont importants pour comprendre mon problème.
Test1.
L'image est incluse dans un " span " (lui même inclus dans l'ancre). Le span est en position absolue, pour que les éléments d'après le menu se positionnent à la suite. Le a:hover est réglé pour afficher l'image (visibility: visible). Tout marche bien sur firefox (au survol au dessus du texte ET de l'image). Sur IE (6 et 7), le survol de l'image ne marche que sur une zone où il n'y a aucun élément (zone du background en gris). Mais si vous passez le curseur par l'image en bleu gris ou par le paragraphe, rien ne se passe. De plus, quand l'image apparait, elle n'est pas cliquable comme un lien.
Test2.
Ce test a été fait en me disant qu'il fallait peut-etre que l'image reste dans l'ancre (ie. pas séparée graphiquement par une position absolue). C'est donc l'ancre qui est en positoin absolue, par rapport à un "div" en position relative. On voit bien la différence avec la bordure en vert. Ceci dit, il se passe le même problème avec internet explorer que pour le test1. L'image du lien3 apparaitra par exemple. La petite différence est que si on passe doucement sur la bordure de l'ancre ca marche, mais pas plus.
Z-index.
J'ai essayé d'utiliser la propriété z-index mais rien n'y fait, ce qui ne parait pas illogique car je ne pense pas que ce soit un pb de profondeur.
Bref, je ne sais pas si il y a une solution, mais je souhaite surtout comprendre la différence de traitement d'internet explorer selon qu'il y ait un élément ou pas en dessous du curseur.
En vous remerciant d'avance.
Gilles
Je vous soumets mon problème de a:hover sur internet explorer en espérant que la réponse ne soit pas évidente (je n'ai pas trouvé d'infos à ce sujet).
Je veux faire un menu vertical en utilisant le flottement des éléments " li ". La petite difficulté est d'afficher une image en dessous des boutons du menu lorsque la souris survole le dit bouton ET aussi lorsque la souris survole la zone virtuelle de l'image (image par défaut en visibility:hidden).
J'ai écrit un peu de code pour illustrer mon problème : http://msfs.test.free.fr/default.html
(c'est pas joli mais ce n'est pas le but)
Explications de l'exemple.
Il y a deux tests différents (donc deux menus). Commencons par ce qui est commun aux deux test. Chaque élément " li " du menu contient une ancre qui elle-même contient du texte et une image. Les " li " sont bordés de rouge et les " a " de vert, pour plus lisibilité. Après le menu, il se trouve un " div " (background en gris) dans lequel se trouve un paragraphe (blabla) et une image (en bleu gris). Ces derniers éléments sont importants pour comprendre mon problème.
Test1.
L'image est incluse dans un " span " (lui même inclus dans l'ancre). Le span est en position absolue, pour que les éléments d'après le menu se positionnent à la suite. Le a:hover est réglé pour afficher l'image (visibility: visible). Tout marche bien sur firefox (au survol au dessus du texte ET de l'image). Sur IE (6 et 7), le survol de l'image ne marche que sur une zone où il n'y a aucun élément (zone du background en gris). Mais si vous passez le curseur par l'image en bleu gris ou par le paragraphe, rien ne se passe. De plus, quand l'image apparait, elle n'est pas cliquable comme un lien.
Test2.
Ce test a été fait en me disant qu'il fallait peut-etre que l'image reste dans l'ancre (ie. pas séparée graphiquement par une position absolue). C'est donc l'ancre qui est en positoin absolue, par rapport à un "div" en position relative. On voit bien la différence avec la bordure en vert. Ceci dit, il se passe le même problème avec internet explorer que pour le test1. L'image du lien3 apparaitra par exemple. La petite différence est que si on passe doucement sur la bordure de l'ancre ca marche, mais pas plus.
Z-index.
J'ai essayé d'utiliser la propriété z-index mais rien n'y fait, ce qui ne parait pas illogique car je ne pense pas que ce soit un pb de profondeur.
Bref, je ne sais pas si il y a une solution, mais je souhaite surtout comprendre la différence de traitement d'internet explorer selon qu'il y ait un élément ou pas en dessous du curseur.
En vous remerciant d'avance.
Gilles