CSS3 allows HTML elements to be animated without JavaScript or Flash. Keyframes are used to define the stages and styles of an animation over its duration. CSS properties like animation-name, animation-duration, and animation-timing-function can be used to control animations, and animations can be defined using a shorthand animation property. Browser support for CSS animations varies.