Before you start to experiment in moving elements with CSS it’s useful to know what can’t be animated. In the current spec, the following properties cannot be manipulated with keyframes or transitions:

  • scrolling of the entire body
  • gradients (Gradient animation is part of the specification, but not supported in any browser yet, with the surprising exception of IE10+)
  • almost anything to do with the background property, including background-image, although background-position can be animated.

(A list of what the CSS spec currently can animate.)

While there are usually ways around these limitations, including animating SVG gradients – it’s good to know what CSS can’t do before you waste a lot of time and energy.