Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Modern Web Animations
Rating: 4.8 out of 5(120 ratings)
1,793 students

Modern Web Animations

Deep Dive into Animations and Transitions, The Web Animations API, Scroll Driven Animations and The View Transitions API
Created byAli Alaa
Last updated 9/2025
English
English [Auto],

What you'll learn

  • Learn about CSS Animations & Transitions.
  • Learn about the new JavaScript Web Animations API.
  • Discover scroll driven animations in details.
  • Create impressive page transitions with the View Transitions API.

Course content

4 sections103 lectures15h 4m total length
  • Before Watching the Course2:34

    Adjust video quality and playback speed to match your pace and connection. Use the resources menu for lecture-specific code hosted on a GitHub repository and Q&A.

  • Setting Up Our Project Folder6:15

    Create a dedicated project folder for web animations, organize a transitions folder with index.html and styles.css, and use the live-server npm package to auto refresh in Chrome as you edit.

  • Introduction to CSS Transitions11:22

    Learn how CSS transitions animate properties like transform and background color on hover, using duration, delay, and easing functions with the transition shorthand; explore interpolation and debugging in Chrome animations.

  • Using CSS Transition with JavaScript6:44

    Learn how CSS transitions animate a square moved by JavaScript by applying a transform transition; attach a click handler, calculate the click position, center the square, and observe smooth animation.

  • Using JavaScript Transition Events8:58

    Explore how CSS transitions fire JavaScript events during hover, listening for transition run, start, and end to update background color and other properties.

  • Transition Behavior & Discrete Animations8:09

    Explore discrete animation types and how they differ from computed-value animations, including how background-image transitions flip mid-duration and how to enable discrete animations with transition-behavior: allow discrete.

  • Animating an Element from display: none to display: block6:08

    Discover how discrete animations govern visibility by toggling display none to block, with the display flip at the start or end during a two-second transition and an opacity fade.

  • Using @starting-style rule8:17

    Learn how the starting-style rule introduces initial opacity and transform transitions for elements appearing from display none, enabling fade-in and scale animations on first render and when toggling display.

  • More on @starting-style5:54

    Explore how starting style applies only when an element first appears or its display changes from none, using a color-toggling square and a background-color transition from sky blue to gold.

  • Timing Functions Boilerplate Code5:04

    Explore how transition timing functions shape motion, with values like ease in and ease in out. Use a boilerplate with a moving element, a progress tracker, and a move button.

  • Linear Timing Functions18:02

    Learn how a transition timing function shapes animation speed with linear curves, and how linear stops and pauses adjust progress from 0% to 100% across the duration.

  • Smooth Animations with Cubic Bezier Timing Functions7:49

    Learn how cubic bezier timing functions shape smooth transitions by defining control points, exploring ease, ease-in, ease-out, and ease-in-out curves, including examples of bounce-like behavior.

  • Animating in Jumps Using the Steps Timing Function20:31

    Explore the steps timing function to divide animation progress into equal intervals, creating jumps between steps. Configure start, end, both, or none, and visualize with graphs.

  • Introduction to CSS Animations5:49

    Explore CSS animations as a triggerless alternative to transitions, using keyframes to control intermediate states. Learn to specify percentages and durations for smooth, efficient motion without JavaScript.

  • CSS Animations Properties7:24

    Explore css animations properties, including animation delay, timing functions (linear, ease, step), iteration count and direction (normal, alternate, reverse), and the animation shorthand, plus debugging tools to refine motion.

  • Adding Multiple Animations6:07

    Learn to apply multiple animations to a single element using keyframes, including transform and margin top, and understand how later animations may override earlier ones or combine via longhand syntax.

  • Animation Composition19:15

    Learn how animation composition in modern web animations combines transforms from multiple animations, using replace, add, and accumulate to prevent overrides and create motion with translate, rotate, and scale.

  • Animation Fill Mode9:30

    Understand animation fill mode and how forwards or backwards affect persisted styles, depending on iteration count and direction, and how delays influence initial keyframe application.

  • More on the @keyframe at-rule8:57

    Master the @keyframes at-rule: last keyframe with the same name overrides earlier ones, while 50% keyframes can cascade; use animation composition to add or replace.

  • Animations JavaScript Events4:48

    Wire up DOMContentLoaded, select the animated square, and handle animation start, iteration, end, and cancel events to log details like duration and elapsed time.

  • Discrete Animations9:22

    Examine discrete animations, where background images flip mid-duration with no visible transition, and learn how display and keyframes govern visibility during fade in and fade out.

  • Animations Exercise (Part 1)7:11

    Lead an animation exercise that runs a character across a scene using an eight-frame sprite sheet, with background-position shifts, and sky, street, and foreground; press space to jump.

  • Animations Exercise (Part 2)10:21

    Animate a running character by cycling the background through eight frames with steps(8, jump none) in 1s infinite loop, and move the street with a linear translateX 0 to -50%.

  • Animations Exercise (Part 3)9:47

    Animate the background, street sign, and foreground using translateX from -100 to 100 to create continuous motion, then tune durations to keep the elements moving at the same perceived speed.

  • Animations Exercise (Part 4)7:18

    Trigger a space-key jump by applying a jump class to the character, animate with css keyframes for two alternating iterations, and remove the class on animationend to reset.

Requirements

  • Some basic HTML, CSS & JavaScript Knowledge is required.

Description

Welcome to Modern Web Animations, a deep dive into modern animation techniques with no libraries, only browser APIs.


CSS Animations & Transitions have been around for a long time now. But recently new APIs were introduced to modern browsers to further improve animating on the web and give developers more control.


Among these new additions is the Web Animations API (WAAPI). The Web Animations API unlocks the power of the browser's animation engine for developers. It allows us to construct animations and control their playback with JavaScript. It is one of the most performant ways to animate on the Web.


In addition to that, new features were added to CSS Animations that allow us to control animations as users scroll. By adding new properties like animation-timeline, scroll-timeline and view-timeline, we can now have animations that are not based on time but based on scrolling progress or based on the visibility of a certain element in the viewport. This opens the door to creating impressive scroll driven animations without having to load any external libraries.


Another recent addition to modern browsers is the introduction of the View Transitions API. This API allows us to easily create animated transitions between different DOM states. It can be especially useful in Single Page Applications (SPAs) when we need to have an animation when navigating between different routes. Before the View Transitions API these kinds of animations were extremely complicated to achieve.


In this course we are going to cover all of these topics in great detail. And not only that, but we are also going to have a section on old CSS Animations & Transitions and discuss every aspect of them in depth. We are also going to have practical examples and exercises for every topic discussed.


So join now if you want to bring your websites to life!

Who this course is for:

  • Web developers looking to learn everything about animating in the browser.
  • Web developers looking to learn about new animation APIs like the Web Animations API, scroll driven animations & the View Transitions API.