I found out a difference between css3 keyframes and web animation api try this demo https://code.h5jun.com/pizi/edit?html,css,js,output
same options:
@keyframes test {
0% { transform: translateX(0px) translateY(0px);}
20% { transform: translateX(0px) translateY(50px);}
40% { transform: translateX(0px) translateY(100px);}
60% { transform: translateX(0px) translateY(150px);}
80% { transform: translateX(0px) translateY(200px);}
100% { transform: translateX(0px) translateY(300px);}
}
web animation api version:
block.animate([
{transform: 'none'},
{transform: 'translateY(100px)', offset: 0.2},
{transform: 'translateY(200px)', offset: 0.4},
{transform: 'translateY(300px)', offset: 0.6},
{transform: 'translateY(400px)', offset: 0.8},
{transform: 'none'},
], {
duration: 5000,
easing: 'ease',
})
but the result are totally different and i don't know why