J'ai deux images (objets) placées côte à côte au milieu de la page et je veux qu'elles se déplacent l'une vers l'autre comme si elles devaient entrer en collision et s'arrêter lorsqu'elles sont placées à côté de chacune d'elles. Donc, pour l'objet du côté droit, j'ai écrit le code suivant, en pensant que l'objet devrait bouger de gauche à droite, mais le résultat est loin de ce que j'attends. Est-il possible de le faire par transition? Ce que je veux c'est que l'un des objets commence à bouger du côté gauche et que l'autre commence à bouger de la droite et se rencontre au centre comme s'ils voulaient entrer en collision.Comment faire bouger les objets avec CSS?
.one {
border: 3px solid #73AD21;
position: absolute;
}
.two {
top: 45%;
left: 44%;
}
.left1,
.right2 {
float: left;
}
#axis:hover .move-right {
transform: translate(-350px, 0);
-webkit-transform: translate(-350px, 0);
-o-transform: translate(-350px, 0);
-moz-transform: translate(-350px, 0);
}
.object1 {
position: absolute;
transition: all 2s ease-in;
-webkit-transition: all 2s ease-in;
-moz-transition: all 2s ease-in;
-o-transition: all 2s ease-in;
}
<div id="axis" class="one two">
<img class="object1 left1 move-right" src="http://placehold.it/50x50" />
<img class="object2 right2 move-left" src="http://placehold.it/75x75" />
</div>
Vous n'avez pas d'animation, vous avez une transition .... Ce ne sont pas la même chose. –
Vous pouvez utiliser des images-clés pour cela: https://css-tricks.com/snippets/css/keyframe-animation-syntax/ –
Si vous voulez conserver votre code de transition, vous pouvez changer votre identifiant ': hover' à une nouvelle classe (comme '.animating', pour un exemple générique), puis utilisez javascript pour ajouter cette classe à votre élément. –