28172 sujets

CSS et mise en forme, CSS3

Salut tous le monde, ayant intérgrer une petite animation flash dans ma page html et n'ayant plus que le swf, esqu'il est possible d'ajouter un carrer blanc fait et positionner en css par dessu l'animation flash afin cacher une erreur de la vidéo? Merci
Modérateur
Salut shadowman,

De mémoire, un swf est toujours positionné au dessus de tout. Donc, ce n'est pas possible.

++
Salut,

Si tu rajoutes le paramètre wmode à ta balise object, ça devrait fonctionner :

<param name="wmode" value="opaque" />

Modifié par Agylus (18 May 2009 - 21:54)
Modérateur
Salut,

shadowman a écrit :
OK, c'est dommage est un autre swf sur swf c'est possible?


Ce que t'a proposé Agylus, je n'ai jamais essayé et je me demande si c'est valide ou que ça fonctionne.

<hs mode="ok">
Néanmoins, je ne ferai pas du tout comme cela. Je passerai par l'AS. Comme tu veux charger au dessus un *.swf à partir d'un autre *.swf, ce serait du style (code fait de tête à typaga faible) :


/*code AS 2.0*/
this.onLoad = function(){
	monClip.loadMovieNum("mon_chemin/mon_repertoire/mon_fichier.swf",10);
	monclip._x = 0;
	monClip._y = 0;
}


Sinon, il serait plus judicieux de charger une occurence à partir de la bibliothèque existante. Également, tu peux faire tout simplement un masque Smiley cligne
</hs>

++
Modifié par Nolem (18 May 2009 - 19:29)
Nolem a écrit :
Ce que t'a proposé Agylus, je n'ai jamais essayé et je me demande si c'est valide ou que ça fonctionne.

Pourquoi ça ne serait pas valide ? Pourquoi proposerais-je une solution qui ne fonctionne pas ?
Agylus a écrit :
Si tu rajoutes le paramètre wmode à ta balise object, ça devrait fonctionner
Je confirme la proposition d'Agylus, ça m'arrive d'utiliser ce paramètre pour superposer des éléments sur un flash.

Si on utilise SWFObject ça se passe avec cette ligne :
so.addParam("wmode","transparent");
Modérateur
Salut tout le monde,

Hier soir, j'ai eu une doute et désolé Agylus au sujet de mes propos antérieurs. Je ne pensais pas que c'était bon. Cependant, cette pratique est du domaine du système D voir du bidouillage entre deux *.swf pour une seule application en mode HTML. Imagine un instant qu'un flasheur reprenne le projet et voit ces petits bidouilles. Smiley biggol Smiley lol Je trouve que cette façon de faire bride le potentiel de Flash. Quand on veut flasher une page, autant le faire correctement. Ainsi, tu gardes les fonctionnalités de Flash d'une façon optimale, n'est ce pas ?

Ta méthode coupe automatiquement l'intéractivité dynamique. De plus, c'est très simple à mettre en place, même en AS2 (voir ci-dessus) voir avec les outils de bases de Flash (masque). Smiley cligne

Pour finir et pour aider shadowman, je propose ce petit script (fait hier soir suite au doute de Agylus) qui permet de masquer un *.swf par un *.swf ou par CSS (Ce que j'ai lu dernièrement est donc erronné. Un bloc CSS ne peut pas être dessus d'un objet Flash Smiley biggol ) ! testé seulement avec IE6 et code valide (HTML - CSS) :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<style type="text/css">
    #A{
        position:relative;
    }
    #B{
        position:absolute;
        top:0px;
        left:0px;
        z-index:20;
    }
    #C{
        position:absolute;
        background-color:red;
        width:200px;
        height:200px;
        top:150px;
        left:50px;
        z-index:50;
    }
</style>
</head>

<body>

<div id="A">
    <object type="application/x-shockwave-flash" data="1.swf" width="550" height="400">
        <param name="movie" value="1.swf" />
        <param name="wmode" value="transparent" />
        <p>1.swf</p>
    </object>
</div>
<div id="B">
    <object type="application/x-shockwave-flash" data="2.swf" width="550" height="400">
        <param name="movie" value="2.swf" />
        <param name="wmode" value="transparent" />
        <p>2.swf</p>
    </object>
</div>
<div id="C">
    <p>un texte</p>
</div>

</body>
</html>


++
Modifié par Nolem (19 May 2009 - 21:38)
@Nolem : Là où ton imagination se bride, c'est croire que le seul cas où on veut passer un élément au-dessus d'un Flash est pour mettre une autre animation (ou un bloc quelconque) par dessus.
Or, on peut très bien imaginer avec un menu horizontal déroulant, et une petite animation Flash juste au-dessous pour animer la page en question.
Donc, dans ce cas de figure :
1. Il serait inutile de faire un site full Flash uniquement parce qu'on n'a voulu mettre une petite animation (genre présentation des termes directeurs d'une société).
2. Pourtant on veut que notre menu déroulant passe au-dessus de cette animation.

C'est ce que ce code avec la balise param permet : ne pas que l'objet Flash soit systématiquement au premier plan.
Modérateur
Salut Agylus,

<hs>
Agylus a écrit :
@Nolem :
Là où ton imagination se bride,
...

Smiley ravi


Agylus a écrit :

...
Or, on peut très bien imaginer avec un menu horizontal déroulant, et une petite animation Flash juste au-dessous pour animer la page en question.
Donc, dans ce cas de figure :
1. Il serait inutile de faire un site full Flash uniquement parce qu'on n'a voulu mettre une petite animation (genre présentation des termes directeurs d'une société).
2. Pourtant on veut que notre menu déroulant passe au-dessus de cette animation.

C'est ce que ce code avec la balise param permet : ne pas que l'objet Flash soit systématiquement au premier plan.


Très bon exemple et donc ton procédé (bidouillage d'amateur) va tout droit à la poubelle. Sinon, pour rattraper cela (à ce stade, c'est plus difficile), il faut sortir une technique beaucoup plus complexe. Lors du passage au compilateur, cela prend du temps à débugguer pour valider le code. Également, cela ralentira la vitesse d'execution. Smiley murf Imagine un instant que le site n'est pas en full Flash, mais dispose de plusieurs objets différents en flash par section et que ces objets sont superposés de ta manière avec plusieurs fichiers. Smiley sweatdrop

De mémoire, l'Action Script existe depuis Flash 3 ou 4 et s'est nettement développer à la version 5 (héhé). L'AS 2.0 a un potentiel énorme. L'AS 3.0 est un langage très prometteur. Malheureusement, il a des faiblesses non négligeable au niveau de l'accessibilité (quoique), du référencement (quoique), etc.

Sujet clos car cela déborde du thème du forum.
</hs>

++