castrinho8.github.io/animations-performance
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.rotate-button {
border: 2px solid black;
animation: rotate 2s infinite;
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.rotate-button {
border: 2px solid black;
}
.rotate-button:hover {
animation: rotate 2s infinite;
}
will-change: transform
Use this time to calculate animations
.element {
position: absolute;
left: -200px;
}
.element.active {
transform: translateX(200px);
}
.element {
position: absolute;
transform: translateX(-200px);
transition: transform 1s;
}
.element.active {
transform: none;
}
var start = null;
var element = document.getElementById('SomeElementYouWantToAnimate');
element.style.position = 'absolute';
function step(timestamp) {
if (!start) start = timestamp;
var progress = timestamp - start;
element.style.left = Math.min(progress / 10, 200) + 'px';
if (progress < 2000) {
window.requestAnimationFrame(step);
}
}
window.requestAnimationFrame(step);
@castrinho18 | Pablo Castro
pablo.castro@mobgen.com