Superponer Flash
4 seguidores
A ver, que me estoy haciendo la pitxa un lio.
Tengo una página con varios archivos .swf, cada uno de ellos en un div y esos div tienen puntos que se superponen unos con otros. ¿Segun qué criterio pone unos por encima de otros? Porque al z-index de los div no les hace ni puto caso.
El problema es que justo el que tiene que estar por encima de todos me sale por debajo....
¿Alguna solución?
Jimena
Internet Explorar muestra el contenido de los swf por encima de cualquier capa, independientemente del que el swf esté dentro de un div y del z-index q tenga este.
El caso es que si tienes varios swf dentro de varios div y sus posiciones coinciden en un punto no sé como soluciona eso el IE, pero por lógica debería mostrar encima de todos los demás el que está escrito el último en el código HTML ¿no?
Quizás te solucione la vida hacer los fondos de los flash transparentes para que a través de ellos se vean los que estén debajo.
Por curiosidad ¿cómo demonios te has metido en ese lio? :D
cbp
¿has mirado si tiene algo que ver el orden en que estén declarados dentro del html? los z-index de los div no sirven para nada si estás trabajando con flash o con desplegables, pero los de los iframe sí. puedes probar a meter los contenidos dentro de un iframe cada uno y ver si así funciona.
txuma Plus
Jimena
Por curiosidad ¿cómo demonios te has metido en ese lio? :D
Te lo cuento el viernes... ;)
cbp77
¿has mirado si tiene algo que ver el orden en que estén declarados dentro del html?
Puede ser que los tiros vayan por ahí, sí. Parece que muestra por encima el primer div que tengas declarado. Pero usando una hoja de estilos externa no me esta funcionando.
Sigo haciendo pruebas y si encuentro la solución os la mando ;)
txuma Plus
Sigue sin salir, pero tengo más pistas:
1. Depende del punto del HTML en que esté declarado el DIV. Muestra por encima el DIV que primero declaras.
2. El problema surge precisemante cuando al SWF que está en ese DIV le pones el atributo wmode=transparent ( y tiene que ir, os lo aseguro ). En ese momento muestra el resto de swf siempre por encima...
¿alguna idea?
cbp
unas preguntas, ¿el z-index lo tienes declarado en la css externa o en el atributo style de la etiqueta div? ¿has probado con lo de los iframe o no te vale?
por cierto, creo que lo del wmode=transparent no te va a funcionar más que para el explorer, no sé si necesitas que valga para todos. en cualquier caso pruébalo con las últimas versiones del netscape, mozilla, etc porque a lo mejor sí que va.
otra solución que se me ocurre, aunque no sé si servirá, es cambiar el z-index dinámicamente con javascript según cual sea el swf que tenga el foco.
txuma Plus
He probado a declarar el z-index de las dos formas y nada. De todos modos creo que eso debería ser igual.
El w-mode tiene que llevarlo a la fuerza (hay un discriminador para sólo muestra ese div en explorer y algún otro navegador; es triste pero a veces no se puede elegir). Es una animación que tiene que permitir que se vea lo que hay debajo.
Y lo de cambiar el zindex dinamicamente tampoco serviría, porque el flash se pasa el zindex por donde todos estamos pensando...
Seguimos investigando....
cbp
txuma
Y lo de cambiar el zindex dinamicamente tampoco serviría, porque el flash se pasa el zindex por donde todos estamos pensando...
no, no, por eso te decía que probases con los iframes. la única manera de poner un html encima de un flash que he encontrado es poniendo el html dentro de un iframe con z-index superior al del flash. probé con div y no funcionaba y pero con los iframes va muy bien.
<iframe id=contenido src=archivo.html style="position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:2;visibility:visible" noresize frameborder=0 scrolling=no></iframe>
txuma Plus
EUREKA !!!!!!!!
Bueno, con unas pequeñas 'ñapas' lo he solucionado. Aquí os resumo cómo ha sido.
1. Hay que partir de que si colocas varios SWF en distintos DIV no se respeta el parametro Z-index de los DIV.
2. El orden de esos SWF (cuál queda por encima o por debajo) lo toma del punto en que esté declarado el DIV en el código. Es decir, coloca por encima de todos el DIV que primero aparezca dentro del código HTML. De esta forma ya se pueden ordenar los distintos SWF colocando los DIV en el orden que interese.
3. El problema surge si al SWF que quieres por encima de todo le aplicas el parámetro wmode=transparent, porque a partir de ese momento ese SWF aparece por debajo de todos los demas (aunque lo tengas en el primer DIV del documento)
4. Solución (ñapa) final: aplicar a todos los SWF el parámetro wmode=transparent. En ese caso vuelve a respetar el orden según el punto en el que haz insertado el DIV.
Un salu y gracias a todos....
[ñapaman]
loopecio
Un post con mucha miga! :P
La verdad es que yo tube ayer el mismo problema que tu, al meter un banner de estos que va por encima de toda la web, pero mi problema es ahora con el wmode=transparent que no funciona en MAC, y precisamente el 'cliente' usa MAC osea que tengo que pasar por ahi.
Alguien me puede ayudar?
cbp
loopecio
Un post con mucha miga! :P
La verdad es que yo tube ayer el mismo problema que tu, al meter un banner de estos que va por encima de toda la web, pero mi problema es ahora con el wmode=transparent que no funciona en MAC, y precisamente el 'cliente' usa MAC osea que tengo que pasar por ahi.
Alguien me puede ayudar?
¿cual es el problema que tienes exactamente?
loopecio
Gracias cbp77..
Pues exactamente lo que me ocurre es que uso un layer con un flash con transparencia para hacer un banner que se superpone al contenido del site, funiona perfectamente en windows, pero con MAC se queda el fonde del flash, sin transparencia.
No se si te lo he explicado bien..
cbp
si, si, lo has explicado muy bien ;)
el problema es que no sé si va a tener solución lo que dices. en esta dirección...
http://www.kirupa.com/developer/mx/transparency.htm
... hay un tutorial que explica justo lo que tú quieres, pero al final, en las limitaciones, dice que en la mayoría de los Explorer de Mac no funciona. si quieres échale un vistazo a ver si a partir de ahí te explican soluciones alternativas.
suerte :)
loopecio
MUCHAS GRACIASSSS!
cbp
de nada... to serve and to protect ;)