You are currently viewing CSS: Animation-Play-State – Pausing and Playing Animations

CSS: Animation-Play-State – Pausing and Playing Animations

The animation-play-state property in CSS allows you to control whether an animation is running or paused. By using this property, you can dynamically pause or resume animations, giving you greater control over the behavior and interactivity of your web animations. This capability is particularly useful in creating interactive and engaging user experiences, where animations can respond to user actions such as clicks, hovers, or other events.

Understanding how to use animation-play-state effectively enables you to create animations that can be paused and resumed at will, adding an extra layer of interactivity to your web designs. This article will cover the basics and advanced techniques of using animation-play-state, providing practical examples to help you master this CSS property.

Understanding animation-play-state

The animation-play-state property defines whether an animation is running or paused. This property can take two values: running and paused.

Syntax and Usage

The syntax for animation-play-state is as follows:

animation-play-state: running | paused;

  • running: The animation is currently running.
  • paused: The animation is currently paused.

For example:

animation-play-state: paused;

This will pause the animation.

Basic Usage of animation-play-state

Let’s start with a simple example where we use the animation-play-state property to pause an animation.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Pausing Animation</title>

    <style>

        .box {
            width: 100px;
            height: 100px;
            background-color: red;
            animation: move 4s linear infinite;
            animation-play-state: paused;
        }

        @keyframes move {
            from {transform: translateX(0);}
            to {transform: translateX(300px);}
        }

    </style>

</head>
<body>

    <div class="box"></div>

</body>
</html>

In this example, the .box element has an animation that moves it from left to right. However, because animation-play-state is set to paused, the animation does not run and the box remains stationary.

Advanced Techniques with animation-play-state

You can use animation-play-state to toggle the play state of an animation based on user interaction, such as hovering over an element.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Toggle Animation on Hover</title>

    <style>

        .circle {
            width: 50px;
            height: 50px;
            background-color: blue;
            border-radius: 50%;
            animation: bounce 2s linear infinite;
            animation-play-state: paused;
        }

        .circle:hover {
            animation-play-state: running;
        }

        @keyframes bounce {
            0%, 100% {transform: translateY(0);}
            50% {transform: translateY(-100px);}
        }

    </style>
</head>
<body>

    <div class="circle"></div>

</body>
</html>

In this example, the .circle element has a bounce animation that is initially paused. When the user hovers over the circle, the animation-play-state is set to running, causing the animation to start. The animation pauses again when the hover state is removed.

Practical Applications

Another practical application of animation-play-state is pausing and resuming animations based on user clicks.

JOIN OUR NEWSLETTER
And get notified every time we publish a new blog post.
icon