Some simple guiding principals for making your animations more meaningful.
We can apply one timing function per axis to produce curved paths, by using two or more objects to drive an animation.
Spoiler-alert: you don't. You use a pseudo-element.
A quick trick: add a pseudo-element and animate it with CSS transitions on hover.
A collection of loading spinners animated with CSS.