IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

CSS3 webkit animation


Sujet :

Animation en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut CSS3 webkit animation
    Bonjour,
    J'ai fait une petite animation css3 qui déplace un élément à un point fixe. Ca marche sans problème, par contre à la fin de l'animation l'élément retourne à sa position d'origine. Est il possible d'éviter cela?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        @-webkit-keyframes move-element {
    	    0% {
    	    }
    	    100% {
    		    top:  100px;
    		    left: 100px;
    	    }
        }
     
        #greg {
          -webkit-animation: move-element 2s 1 alternate;
        }
    Gregory

  2. #2
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Salut,

    Je ne sais pas s'il y a un paramètre pour bloquer l'animation après le premier traitement, mais en attendant tu peux ruser en faisant durer l'animation très très très longtemps.

    Par exemple, en multipliant le temps total de l'animation par 10000 (par exemple) et en divisant le temps du premier palier par autant, tu obtiendras le même résultat mais l'animation semblera s'arrêter alors qu'elle continue.
    Comme tu n'as qu'un seul palier (tu passes de 0% à 100% directement), c'est très simple à faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @-webkit-keyframes move-element {
    	0% {
    	}
    	0.001% {
    		top:  100px;
    		left: 100px;		
    	}
    	100% {
    	}
    }
    #greg {
    	-webkit-animation: move-element 200000s 1 alternate;
    }
    Cela dit, ça reste du bricolage.

  3. #3
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    Citation Envoyé par c_s_s Voir le message
    Salut,

    Je ne sais pas s'il y a un paramètre pour bloquer l'animation après le premier traitement, mais en attendant tu peux ruser en faisant durer l'animation très très très longtemps.

    Par exemple, en multipliant le temps total de l'animation par 10000 (par exemple) et en divisant le temps du premier palier par autant, tu obtiendras le même résultat mais l'animation semblera s'arrêter alors qu'elle continue.
    Comme tu n'as qu'un seul palier (tu passes de 0% à 100% directement), c'est très simple à faire.

    Cela dit, ça reste du bricolage.
    Effectivement le rendu est similaire le problème reste le meme. Aprés l'animation mon élément retournera à sa position d'origine quoi qu'il arrive.

    Je pourrai feinté avec du javascript, mais ca m'étonne que ce ne soit pas possible

  4. #4
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Citation Envoyé par Gregory.M Voir le message
    Aprés l'animation mon élément retournera à sa position d'origine quoi qu'il arrive.
    C'est vrai, mais bon, seulement après 200000 secondes dans l'exemple proposé (ce qui fait quand même plus de 55 heures).
    On peut presque assimiler ça à une animation sans retour, sauf si tous tes visiteurs ont l'habitude de rester plus de 55 heures sur la page où se trouve l'animation, évidemment.

    Plus sérieusement, s'il existe une option permettant de bloquer l'animation après le traitement, ça m'intéresse de la connaître.

  5. #5
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut
    Citation Envoyé par c_s_s Voir le message
    C'est vrai, mais bon, seulement après 200000 secondes dans l'exemple proposé (ce qui fait quand même plus de 55 heures).
    On peut presque assimiler ça à une animation sans retour, sauf si tous tes visiteurs ont l'habitude de rester plus de 55 heures sur la page où se trouve l'animation, évidemment.

    Plus sérieusement, s'il existe une option permettant de bloquer l'animation après le traitement, ça m'intéresse de la connaître.
    Normalement y'a une propriété pour ça pour le nombre de fois ou l'on repete l'animation, c'est la propriété -webkit-animation-iteration-count

    http://css-infos.net/property/-webki...teration-count

    exemple au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -webkit-animation:pulse 1.5s infinite ease-in-out;
    tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -webkit-animation:pulse 1.5s 1 ease-in-out;
    Par contre j'ai pas testé!

  6. #6
    Rédacteur

    Homme Profil pro
    Responsable de projet
    Inscrit en
    Mai 2009
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 634
    Par défaut
    Cette valeur de la propriété permet de boucler ou non une animation et non pas de la stopper après le premier traitement comme le souhaiterait Gregory.M.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -webkit-animation:pulse 1.5s infinite ease-in-out;
    s'explique par : mon animation pulse doit se faire pendant 1.5 seconde (de 0% à 100%) et ensuite recommencer de manière infini en boucle (avec une fonction ease-in-out)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -webkit-animation:pulse 1.5s 1 ease-in-out;
    s'explique par : mon animation pulse doit se faire pendant 1.5 seconde (de 0% à 100%) et ensuite ne pas refaire l'animation

    Dans ces 2 cas, l'animation se fera de 0 à 100%

Discussions similaires

  1. [CSS 3] CSS3 loop animation with <ul>
    Par MrWazo dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 22/04/2015, 19h12
  2. Réponses: 6
    Dernier message: 02/07/2013, 10h58
  3. [Autre] CSS Shaders : le futur standard qui repousse les limites des animations CSS3
    Par Idelways dans le forum Publications (X)HTML et CSS
    Réponses: 8
    Dernier message: 14/10/2011, 17h18
  4. Réponses: 0
    Dernier message: 04/10/2011, 17h01
  5. [Java script et CSS3] Une animation fluide?
    Par themoye dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2010, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo