A good, thorough article, with good examples. I love animations. Fun fact: if you have a keyframe that repeats at, say, 0%, 50% and 100%, you don't need to write them separately in sequence with other intervening keyframes. You can write them all together, separated by a coma: 0%, 50%, 100% {} Second thing: it's worth mentioning that when animation-timing-function isn't explicitly defined by the user, it defaults to "ease" - despite "linear" seeming like the simplest, most basic option. Also, animation-fill-mode could use some more detail - though in my experience only "forwards" makes real difference. Normally, the element reverts to its original state. With "forwards" it stays on the last keyframe (same as in fill="freeze" in SVG/SMIL animations). And lastly, a 1000 times yes to 3D animations :D They are my absolute favorite thing in CSS.
Maciek Fitzner
I like trying out what CSS can do. And making it do things it wasn't meant for.