5568 sujets

Sémantique web et HTML

bonjour. voilà, mon problème est le suivant.
j'ai sur mon site un menu déroulant en css / javascript.
il marche nickel. mais j'ai aussi une vidéo en flash issue de dailymotion qui pose un pb :
quand je pointe la souris sur une rubrique du menu, le menu se déroule mais passe par dessous la vidéo flash qui se trouve un peu plus bas au lieu de s'afficher par dessus ; le problème se pose dans firefox et ie, mais pas dans safari...

voici le rendu en image :

upload/16614-Capture.png

Le menu est pourtant en position:absolute
Comment procéder ? Bien qu'ayant une expérience qui commence à être conséquente en css, je ne vois pas quoi faire.

Merci.
Modifié par piffeo (06 May 2008 - 13:20)
Modérateur
Salut,

As-tu essayé d'ajouter le paramètre wmode ayant pour valeur transparent sur ton anim' Flash ?
Je ne pense que ce soit un problème de transparence de l'animation flash, qui est sur fond noir
Je viens d'essayer cependant ton idée, mais ça ne change rien Smiley confus
Salut,

as-tu essayé de jouer avec les z-index (j'imagine que oui) mais de toute facon ce type de problème est traité différement sur chaque type de navigateur selon leur facon d'intégrer le plugin flash et il me semble même qu'il y a parfois des différences sur un même navigateurs sur différents OS...

La meilleur solution est peut-etre de s'arranger pour que le menu ne croise jamais la route d'une anim flash, mais sinon tu peux aussi mettre en place un petit script qui vient cacher l'animation flash avec un "visibility:hidden" lors d'un click sur le menu déroulant.

Personnellement j'opterais pour la seconde solution... Smiley smile
Modérateur
En fait, l'ajout de ce paramètre sur l'anim' Flash permet au z-index que tu indiques sur ton menu d'être correctement pris en compte...
Modifié par koala64 (06 May 2008 - 14:05)
En fait, mes blocs de menu sont déjà en z-index : 10000;
quand j'ai ajouté le paramètre wmode transparent sur l'anim flash, ça n'a rien changé, mais merci de l'info, que j'ignorais

la solution du script a l'air pas mal, mais je vois pas trop comment la mettre un oeuvre : un script dans quel langage ?
piffeo a écrit :
un script dans quel langage ?


En Javscript... pas vraiment le choix puisque c'est coté client que ca se passe...

C'est un script qui va faire en sort que sur un onmouseover sur le menu, tous les <object> et <embed> de la page passent en "visibility:hidden", le contraire sur onmouseout... Bon ok c'est un peu bourin de traiter tous les <object> et <embed> de la page mais au moins ça va fonctionner, il y a surement un moyen de rendre la chose plus subtile...

Je t'aurais bien écris le code mais comme je n'ecris plus que des scripts pour mootools, cela ne va te servir à rien si toi tu ne l'utilises pas...
Tu ne peux rien faire. Une animation Flash prend toujours le dessus quoi que tu fasses (même en utilisant les z-index).
Désolé.
C'est un peu ce qui me semblait. C'est pourquoi j'ai résolu mon problème en m'arrangeant pour décaler ma vidéo vers le bas, de telle sorte que le menu ait assez de place pour se dérouler entièrement au-dessus de la vidéo.

Cependant, de là à dire que rien d'autre ne pouvait être fait, je ne sais pas si on peut le conclure si vite.
L'idée du script proposée plus haut est peut-être jouable, bien que, pour ma part, je ne connaisse pas javascript et ne puis le faire.

Merci en tout cas à tous.
lilycoeur a écrit :
Tu ne peux rien faire. Une animation Flash prend toujours le dessus quoi que tu fasses (même en utilisant les z-index).
Désolé.


Dépend du navigateur, du plugin flash et de l'os client, mais parfois il est possible de le refaire passer en dessous juste avec le z-index ou avec l'astuce donnée par koala64
Modérateur
Il y a une autre astuce qui permet au menu de passer devant n'importe quoi (flash, select, appli java', etc...) sans pour autant masquer complètement le contenu qui doit se trouver en arrière-plan (ici, le flash), c'est de mettre une iframe en arrière-plan de chaque sous-menu en les générant via JS.
Modifié par koala64 (07 May 2008 - 07:19)
koala64 a écrit :
Il y a une autre astuce qui permet au menu de passer devant n'importe quoi (flash, select, appli java', etc...) sans pour autant masquer complètement le contenu qui doit se trouver en arrière-plan (ici, le flash), c'est de mettre une iframe en arrière-plan de chaque sous-menu en les générant via JS.


Salut Koala Smiley cligne
je croyais que les iframe ne faisaient plus parti des éléments fenêtrés. Est-ce d'une autre astuce dont tu parles?
.



bcp de choses ont ete dite dans ce sujet qui ne sont pas vraies.
Il est bien sur tout a fait possible de faire passer le flash en dessous, heureusement d'ailleurs !
tout simplement en utilisant l'attribut comme il a ete mentionne wmode="transparent".

a mettre sous la forme <param name="wmode" value="transparent">.

A noter que si pour des raisons quelconques la balise object est utilisee avec la balise embed malgre que cette derniere ne soit pas valide W3C, il faut aussi remettre l'attribut wmode transparent dans la balise embed, sinon cela ne fonctionne pas.
Smiley cligne

(sinon ne pas oublier de resoudre le bug flash "cliquer pour activer ce controle" sous Opera et surtout IE par un fichier js).



.
Modifié par LDL (14 May 2008 - 01:29)
LDL a écrit :

bcp de choses ont ete dite dans ce sujet qui ne sont pas vraies.
Il est bien sur tout a fait possible de faire passer le flash en dessous, heureusement d'ailleurs !
tout simplement en utilisant l'attribut comme il a ete mentionne wmode="transparent".

a mettre sous la forme <param name="wmode" value="transparent">.

A noter que si pour des raisons quelconques la balise object est utilisee avec la balise embed malgre que cette derniere ne soit pas valide W3C, il faut aussi remettre l'attribut wmode transparent dans la balise embed, sinon cela ne fonctionne pas.
Smiley cligne

(sinon ne pas oublier de resoudre le bug flash "cliquer pour activer ce controle" sous Opera et surtout IE par un fichier js).


Beaucoup de choses ont été dites certes mais de la à dire qu'elles ne sont pas vraies, c'est une autre histoire...
L'astuce que tu donnes ici, qui a déjà été donnée avant par koala64, et je le répète, ne fonctionne pas dans tous les cas de figure, par exemple je suis quasiment certain qu'elle ne fonctionne pas sur Firefox sous Linux car ce paramètre wmode est tout simplement ignoré. De fait tout le monde n'utilise pas le même navigateur, sur différentes versions, sur différents OS, avec des plugins flash de versions différents ou même des plugins flash non officiels... Dans tout ce fouilli c'est au webmaster de choisir quelle portée aura son application, si c'est sur un intranet, on peut exiger une configuration, sur internet, il faudra choisir entre suivre ses idées quitte a rendre le site inutilisable par certaines configs ou utiliser des chemins différents pour pouvoir toucher un maximum de monde en faisant fi des configurations...

LDL a écrit :

(sinon ne pas oublier de resoudre le bug flash "cliquer pour activer ce controle" sous Opera et surtout IE par un fichier js).


Ce n'est pas un bug mais un procès de plus de 500 millions de dollars avec la société Eolas perdu par Microsoft... quant à Opéra je ne savais pas qu'ils avaient appliqué les mêmes pratiques, ce qui me conforte dans le choix de mon navigateur (qui n'est ni IE ni Opéra Smiley lol )
.


non negatif !
j'ai utilise cet attribut maintes fois et je confirme :
il fonctionne tres bien sous :

IE 7
Firefox 2
Safari 3
Netscape 9
Opera 9.25
;)


Par contre sous linux, peu etre.
c'est malheureusement un environnement que je ne peux tester (et dieu sait que je suis vigilant a une certaine compatibilite !)...

Cela dit, il n'est pas possible de toute facon d'etre compatible a 100% pour tous les navigateurs de la terre, d'ou etre vigilant a etre valide W3C et l'attribut wmode sous object est parfaitement valide....
(donc je pense mais j'ai pas ete verifie que certainement il fonctionne sous linux, ou alors y a une grosse lacune de la part de W3C la !)...


.
Modifié par LDL (23 Jul 2008 - 23:33)