CSS: Animation

By Xah Lee. Date: . Last updated: .

Here's simple example of CSS animation.

Here's the code:

<span id="heart31507"></span>
#heart31507 {animation: beat46564 1s 0s 300}

@keyframes beat46564 {
    0% {font-size:2em;color:black}
    50% {font-size:4em;color:red}
    100% {font-size:2em;color:white}
}

The heart is just a Unicode character (U+2665: BLACK HEART SUIT)

[see Unicode Characters ∑ ♥ 😄]

[see Character Sets and Encoding in HTML]

How Does CSS Animation Work?

There are 2 parts to specify a animation.

  1. Use the animation property to specify a animation, set a name, duration, repetition count, etc.
  2. Use the @keyframes (called “at-rule”) to specify the CSS for each key frame of the animation.

「animation」 property

#heart31507 {
animation: beat46564  /* animation-name */
 1s /* animation-duration */
 0s /* animation-delay */
 30 /* animation-iteration-count */
}

The CSS property animation is a shorthand property for:

「@keyframes」 at-rule

For example, in:

@keyframes beat46564 {
    0% {font-size:14px;color:black}
    50% {font-size:30px;color:red}
    100% {font-size:14px;color:white}
}

This specifies the CSS for each key frame of the animation named “beat46564”.

The 0% {…} is the beginning of animation. The 100% {…} is the end of animation. You can have other percentages. Inside the curly brackets are normal CSS properties and values.

Browser Support

As of , CSS animation is supported by {Firefox, Google Chrome, IE10, Opera}.

CSS Effects

  1. CSS: Round Corners
  2. CSS: Box Shadow
  3. CSS: Text Shadow
  4. CSS: 2D Transform
  5. CSS: Image Rollover
  6. CSS: Background Image
  7. CSS: Transition
  8. CSS: Animation
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS Basics
  4. JS in Depth
  5. JS Reference
  6. DOM
  7. SVG
  8. JS Misc
  9. Web Dev Blog