CSS Animations

Understanding Keyframes

Keyframes define the start and end states of an animation, as well as any intermediate points. You use the @keyframes rule to create these keyframes.

  • Basic Usage

This example creates a fadeIn animation that transitions the element’s opacity from 0 to 1 over 2 seconds.

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 2s; /* Applies the fadeIn animation over 2 seconds */
}




Applying Animation Properties

You can control various aspects of the animation using properties like animation-durationanimation-timing-functionanimation-delay, and animation-iteration-count.

In this example, the .slide-in class applies a sliding animation that moves an element from off-screen to its original position. The animation lasts for 3 seconds, starts after a 1-second delay, and repeats infinitely.

.slide-in {
    animation-name: slideIn;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-delay: 1s;
    animation-iteration-count: infinite; /* Repeats the animation infinitely */
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}




CSS Animations Example Code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Animations Example</title>
    <style>
        .container {
            width: 300px;
            margin: 50px auto;
            text-align: center;
        }
        .fade-in {
            width: 100px;
            height: 100px;
            background-color: blue;
            animation: fadeIn 2s;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="fade-in">Watch me fade in!</div>
    </div>
</body>
</html>




CSS Labs

Scroll to Top