Jouer de multiples animations CSS en même temps
Comment puis-je avoir deux CSS animations jouer à des vitesses différentes?
- L'image doit être de rotation et de croissance en même temps.
- La rotation du cycle toutes les 2 secondes.
- La volonté de croissance du cycle de toutes les 4 secondes.
Exemple De Code:
.image {
position: absolute;
top: 50%;
left: 50%;
width: 120px;
height: 120px;
margin:-60px 0 0 -60px;
-webkit-animation:spin 2s linear infinite;
-webkit-animation:scale 4s linear infinite;
}
@-webkit-keyframes spin {
100% {
transform: rotate(180deg);
}
}
@-webkit-keyframes scale {
100% {
transform: scaleX(2) scaleY(2);
}
}
http://jsfiddle.net/Ugc5g/3388/ - une seule animation (le dernier déclaré) joue.
- Devrait l'échelle de l'image alors qu'il est en rotation? La réponse que j'ai fourni n'est pas, mais si c'est ce que vous avez besoin, alors il peut être tordu pour faire ça
Vous devez vous connecter pour publier un commentaire.
TL;DR
Avec une virgule, vous pouvez spécifier de multiples animations, chacune avec leurs propres propriétés.
Exemple:
Réponse originale à cette question
Il y a deux problèmes ici:
#1
La deuxième ligne remplace la première. Donc, n'a aucun effet.
#2
Les deux images clés s'applique sur la même propriété
transform
Comme alternative, vous pouvez envelopper l'image dans un
<div>
et animer chacun d'eux séparément et à des vitesses différentes.http://jsfiddle.net/rnrlabs/x9cu53hp/
CSS:
HTML:
Au cas où quelqu'un de nouveau est à venir le long et la capture de ce fil de discussion, vous pouvez spécifier de multiples animations, chacun avec leurs propres propriétés--avec une virgule.
Exemple:
En effet, vous pouvez exécuter plusieurs animations en même temps, mais votre exemple a deux problèmes. Tout d'abord, la syntaxe que vous utilisez seulement spécifie une animation. La deuxième règle de style masque la première. Vous pouvez spécifier deux animations à l'aide de la syntaxe ressemble à ceci:
comme dans ce violon (où j'ai remplacé "à l'échelle" avec "fade" en raison de l'autre problème est expliqué ci-dessous... de Porter avec moi.): http://jsfiddle.net/rwaldin/fwk5bqt6/
Deuxième, à la fois de vos animations de modifier la même propriété CSS (transformation) de la même élément du DOM. Je ne crois pas que vous pouvez le faire. Vous pouvez spécifier deux animations sur différents éléments, à l'image, et un élément de conteneur peut-être. Il suffit d'appliquer l'une des animations pour le conteneur, comme dans ce violon: http://jsfiddle.net/rwaldin/fwk5bqt6/2/
vous pouvez essayer quelque chose comme cela
définir le parent à
rotate
et l'image descale
de sorte que lerotate
etscale
temps peut être différentCSS:
HTML:
Vous ne pouvez pas jouer deux animations depuis l'attribut peut être défini qu'une seule fois. Plutôt pourquoi ne pas inclure la deuxième animation dans le premier et ajuster les images clés pour obtenir le bon timing?
CSS:
HTML: