I know this question was asked a few years ago, but I just stumbled upon it and there is no real answer other than "firefox sucks". The trick to speeding up hardware acceleration for animating dom elements in firefox is adding a little rotation along with your translation. For instance:
@keyframes square-animation { 0%, 100% { transform: translate(600px, 160px) rotate(0.01deg); } 50% { transform: translate(355px, 160px) rotate(0.01deg); } }
The reason this is interrupted is not to erase anything in the div animation (especially the text). Although I personally do not think this is the right choice for default behavior, you can see the reasoning here .
source share