5 Awesome CodePen Demos: CSS Transitions and Animations

This tutorial will train you 5 visually partaking transitions and animation results that you should use as we speak. Fork the pens, follow the ideas, take your CSS to the following stage!

CSS Transitions

Let’s begin with some CSS transitions; a easy approach to change property values over a specified period. These transitions happen when a property or component worth adjustments, similar to when a button step by step adjustments shade, or when a picture is enlarged when it’s hovered over. Transition results could be managed utilizing the transition property, specifying the property to be transitioned, the period, timing perform, and delay.

CSS Hover Sliding Transition

Our first instance demonstrates using CSS transitions to create a beautiful picture card reveal impact. CSS transitions are utilized to a .img-card class, giving us a easy transition impact when hovering over every picture.

Right here’s a fast breakdown:

  • The HTML construction defines the gallery of photos enclosed inside a <part> component. Every of the pictures can also be enclosed in a <part> tag. The styling units every of the picture card’s preliminary place to the left (left: 0px;) and defines its different properties.
  • The transition property with the values (ease-in-out and 0.3s), specifies the sleek transition impact when the cardboard is hovered over on the specified transition delay.
  • There’s additionally a hover pseudo-class on the picture card that defines the picture card’s look when hovered over. It expands the cardboard (flex: 2;), and provides a pointer cursor for a visually interesting impact.

It is a pretty instance to get your ft moist with CSS transitions. As we advance extra on this tutorial, we’ll go into extra complicated demos than this.

Reveal Picture on Scroll

Alright, subsequent instance, and this time we’ll add some JavaScript into the combination! The demo under demonstrates create a putting impact by revealing photos and content material because the consumer scrolls down the web page. Photos with a clip-path impact and background overlay are step by step revealed with using a CSS transition.

The JavaScript IntersectionObserver is utilized to set off the animation when parts enter the viewport.

Within the HTML construction, the reveal-section component holds the content material to be revealed on scroll and this part is styled utilizing CSS. The picture reveal on scroll performance was achieved utilizing JavaScript. Right here’s how: 

  • .reveal-section kinds the reveal part, defining its most width, margin, and padding.

  • .reveal-section .scroll kinds the grid structure for the content material contained in the reveal part, making a two-column structure with a column hole.

  • .reveal-section determine kinds the container for the picture, including a field shadow and a background transition impact.

  • .reveal-section determine::earlier than: The “earlier than” pseudo-class provides a background overlay that transitions with a clip-path impact when revealed.

  • .reveal-section determine img kinds the picture within the determine component and units a clip path for the reveal impact.

  • The JavaScript code snippet units up an Intersection Observer to set off the reveal animation when parts become visible because the consumer scrolls down the web page.

  • It selects the component with the category .reveal-section, .scroll, and the determine component, which is the picture container.
  • The Intersection Observer callback perform provides the category .is-animated to parts which are at the very least 50% seen within the viewport and removes the category when they don’t seem to be. That is what controls the darkish background to slip in, reveal the picture and slide out.

So for those who scroll up and down that web page, the picture is revealed step by step. 

CSS Animations

Shifting on from transitions, CSS animations provide much more management over component transformations. With animations, you possibly can create keyframes that outline and interpolate between totally different states of a component over a given period. This permits for extra complicated and dynamic visible results in comparison with transitions.

Card Stacking and Unstacking Animation

Let’s start with an instance of how CSS animations can be utilized to create a stacking and unstacking playing cards impact when customers scroll up and down an internet web page. Some CSS customized properties will probably be used to calculate animation properties dynamically for flexibility and simple customization. The animation-timeline property is used to manage the animation primarily based on scroll occasions.

Strive scrolling up and down this demo in fullscreen mode to see the stacking and unstacking impact on every card.

Right here’s how this performance was achieved:

  • The CSS variables (outlined in :root) are used to set the cardboard heights, margins, and different properties.
  • Primary kinds are utilized to the physique and header of the web page to create the structure. The playing cards are additionally styled to present them a card-like look.
  • Now to create the stacking and unstacking performance, I checked for browser help utilizing @helps.
  • The animation is managed by CSS customized properties (--index, --reverse-index, --reverse-index0, and so forth.) and they’re calculated primarily based on the cardboard’s place within the listing.
  • The animation scales every card component when scrolled, making a “stacking” and “unstacking” impact. The @keyframes rule defines how the size transformation adjustments because the animation progresses. This @keyframes key phrase is an important idea when creating animations utilizing CSS.
  • The animation period and delay are adjusted primarily based on the cardboard’s place, making a dispersed impact.

Animated Bubbles 

Now time for a barely totally different demo! This code demonstrates create a floating bubbles animation impact utilizing HTML canvas, and the JavaScript requestAnimationFrame methodology. Click on on any a part of the blue canvas to show the floating bubbles.

How is that this bubble animation impact created?

  • The HTML construction features a paragraph (<p>) instructing the consumer to click on on the canvas; a <canvas> component with the id “canvas” the place the animation will probably be rendered.
  • The canvas component is styled to set its background shade to match the darkish color we’ve used all through this tutorial (however you possibly can change it to no matter you want) and guarantee it scales responsively to the window width.
  • The JavaScript code initializes the bubbles animation. A category “Bubble” is outlined to characterize every bubble. Every with properties similar to place, radius, shade, and velocity.
  • The draw() methodology of the “Bubble” class is accountable for rendering every bubble on the canvas. It makes use of the canvas’s 2D rendering context to attract circles with gradients to create bubble-like circles.
  • The transfer() methodology updates the place of every bubble, inflicting it to rise upwards.
  • A click on occasion listener (canvas.addEventListener("click on", handleDrawCircle)) triggers the creation of recent bubbles each time any space on the canvas is clicked.
  • The animate() perform clears the canvas and updates the place of every bubble, creating the animation impact. It makes use of the requestAnimationFrame methodology to optimize efficiency.

This bubbles impact animation could be a enjoyable addition to a webpages. You too can create animations like this however with totally different floating graphics like balloons, snow, and so forth.

We’re going to be one final instance – a parallax scrolling webpage.

Parallax Scrolling Webpage

So what precisely is parallax scrolling?

Parallax scrolling is a movement design method the place backgrounds transfer slower than no matter is within the foreground. It offers a way of depth, and we will use this on web sites when a consumer scrolls down a webpage. This phantasm of depth and provides a visually interesting, interactive component to the web site. Parallax scrolling can be utilized to interact customers, improve storytelling, and create a extra immersive looking expertise.

View the demo below in fullscreen mode to get the parallax scrolling expertise.

Although this won’t be a fancy instance of CSS animation, it falls below the net design idea of making gorgeous visible results on an internet web page.

The everyday implementation of parallax scrolling is as follows:

  • First, the webpage is split into totally different layers, every layer containing totally different parts. The layers often embrace photos.
  • The scrolling impact is created because the consumer scrolls up and down the webpage and the background layers transfer at totally different speeds in comparison with the foreground layers.
  • The slower-moving background layers give the phantasm of depth as if the consumer is objects by way of totally different views.

Fork the pen to play with your individual settings and parallax content material!


We’ve explored how CSS transitions and animations give parts on internet pages life and depth. We’ve seen how these ideas can remodel static pages into dynamic pages with distinctive experiences.

I hope you preferred these demos. Stage up your animation recreation utilizing CSS and JavaScript, and bear in mind to maintain it at a minimal when constructing full internet purposes. Glad Coding!

Trending Merchandise
[product_category category=”trending” per_page=”8″ columns=”2″ orderby=”date” order=”desc”].

We will be happy to hear your thoughts

Leave a reply

Compare items
  • Total (0)