Ho questo pen che tenta di emulare un oggetto che ruota intorno a qualcosa. Funziona, ma non è liscio. Durante la rotazione, si ferma intorno ai bordi sinistro e destro.Funzione di animazione CSS3 per una rivoluzione 3D uniforme?
ho pensato che avesse qualcosa a che fare con animation-timing-function
, ma non può ottenere il risultato desiderato con una delle funzioni in-costruito come ease-in-out
o linear
o una funzione personalizzata cubic-bezier
.
Come posso rendere l'animazione piacevole? Se ci sono modi migliori per fare qualcosa del genere, sentitevi liberi di farmelo sapere.
.overlay {
background-image: -webkit-repeating-linear-gradient(0deg, transparent, transparent 1%, rgb(255, 255, 255) 2%, rgb(255, 255, 255) 2%);
background-image: repeating-linear-gradient(90deg, transparent, transparent 1%, rgb(255, 255, 255) 2%, rgb(255, 255, 255) 2%);
height: 200px;
position: relative;
width: 40%;
margin: auto;
}
.circle {
width: 100px;
height: 100px;
border-radius: 50%;
background: #888;
position: absolute;
z-index: -1;
left: 0;
display: inline-block;
}
.move {
-webkit-animation: moveAndGlow 2s infinite ease-in-out;
animation: moveAndGlow 2s infinite ease-in-out;
}
@-webkit-keyframes moveAndGlow {
25% {
background: #ccc;
-webkit-transform: scale(.5);
transform: scale(.5);
margin-top: 25px;
}
50% {
left: 100%;
margin-left: -100px;
background: #888;
-webkit-transform: scale(1);
transform: scale(1);
margin-top: 0;
}
75% {
background: #000;
-webkit-transform: scale(1.5);
transform: scale(1.5);
margin-top: 25px;
}
}
@keyframes moveAndGlow {
25% {
background: #ccc;
-webkit-transform: scale(.5);
transform: scale(.5);
margin-top: 25px;
}
50% {
left: 100%;
margin-left: -100px;
background: #888;
-webkit-transform: scale(1);
transform: scale(1);
margin-top: 0;
}
75% {
background: #000;
-webkit-transform: scale(1.5);
transform: scale(1.5);
margin-top: 25px;
}
}
<div class="overlay">
<span class="circle move"></span>
</div>
Devi leggere le prospettive. un paio di piccole modifiche ed è perfetto. :) –
@TheWarlock contento che ti piaccia. Controlla anche [supporto browser] (http://caniuse.com/#feat=transforms3d) e aggiungi i prefissi dei fornitori appropriati. –