banner



Should I Use Css Or Javascript For Animation

Animations can be powerful tools for engaging and delighting visitors on your site. They can make the loading experience more entertaining, direct the visitor's center to an of import chemical element on the page, and improve usability.

While rendering animations on the web isn't new, the procedure is. Animation used to require JavaScript, which is considered one of the most hard coding languages to learn, or Flash, an Adobe product that yous have to pay a monthly fee to use. In the past decade, many developers take shifted away from JavaScript and Flash to using CSS for animations. Virtually already know CSS — plus it'southward gratis!

Download Now: Free HTML & CSS Hacks

To help you sympathize this web design trend, we'll walk through what CSS blitheness is, unlike types of CSS animation, and examples of animations being used on alive sites.

  1. What is CSS blitheness?

  2. Types of CSS Blitheness

  3. CSS Animation Tutorial

  4. CSS Blitheness Examples

  5. CSS Transition vs. Animation

  6. CSS 3D Animation

What is CSS blitheness?

Let's say you want to use multiple CSS manner configurations — similar dissimilar colors, levels of opacity, border radiuses, and and so on— on a single page element. To have elements gradually alter from one style to another, you can create a CSS animation.

There are dozens of animatable CSS propertiesyou can choose from. Yous can have a progress bar bear witness how chop-chop your site is loading, a button modify colors when a visitor hovers over it, and your logo bounce in from the left side of the screen. You can even animate an element's padding surface area to transition between colors. Animations similar these tin help make your web blueprint more cohesive and more than memorable.

Let'south take a wait at some specific types of animation beneath.

Types of CSS Blitheness

With CSS animation, elements can be shifted, rotated, slanted, squashed, spun, and stretched on the page. They tin be bounced across the folio and collaborate with each other in all sorts of interesting ways.

Since there are thousands of types of CSS blitheness, nosotros'll limit our focus to some of the virtually common — and coolest! — types yous'll see on the spider web.

CSS Text Animation

Animated typography can immediately capture the attention of your visitors. Of the many ways yous tin animate text on your site with CSS, adding a rainbow effect, shadow, glitch outcome, and gooey upshot are among the most common.

Beneath is an example of a handwriting animation in which the visitor watches the text being written on the page.

logo looks like it's being written on page using css text animation

Source

CSS Colour Animation

You'll often see the background of a web page animated to alternate between colors, as in the example below.

square alternating background colors using css color animation

Source

CSS colour animations can also be applied to text, buttons, borders, and other elements on the page, making them ideal for drawing the company's eye to a specific bespeak on the page.

Slide-in Animation

Using this CSS animation, you can have an chemical element slide in from the elevation, bottom, left, or right of the screen to grab the visitor'due south eye. Y'all tin can also combine the slide-in animation with other effects to further customize your design. In the instance below, the slide-in animation is combined with a blurred text result so that the company name slowly comes into focus.

animista logo sliding from bottom of page using CSS slide-in animation

Source

CSS Rotate Animation

You can apply CSS to rotate an element in 2D or 3D space. This blitheness is oftentimes combined with other animations to show elements in motility. Take the case of the rocket below. It'southward not but translated from the bottom left of the screen to the elevation right over a period of three seconds, merely besides rotated 70 degrees in a clockwise management over the first two seconds.

plane icon starting vertical then flying horizontally  using css rotate animation

Source

CSS Wave Animation

The CSS Wave animation is a unique utilize case of the rotate animation. To create a CSS moving ridge blitheness, y'all need to create multiple HTML objects to correspond your waves. Then you'll utilize the rotate animation to each wave with different groundwork colors and values for the animation-timing property. You can too experiment with opacity.

The effect will look something like the demo below.

Background moving like waves using CSS wave animation

Source

CSS Glow Animation

CSS glow animations tin contribute to the ambiance of your site. For example, to promote an event on your site, you might add neon glow text confronting a dark groundwork to set a party mood. You can also use the glow outcome on buttons, borders, loading animations, hover animations, and more.

In the example beneath, the gradient button glows when the user hovers over it and then that clicking it seems more than appealing.

button lights up when mouse hovers using css glow animation

Source

CSS Bounce Animation

Let's say you don't want an element to slide in. You want it to bounce in for a grander entrance. In that instance, yous can employ the CSS bounce blitheness. Coding this animation requires a few blitheness subproperties, including the timing and delay function, to be configured to brand the element's bounciness feel more natural.

This animation is particularly common on loading pages, as shown in the example below.

three dot loading animation using CSS bounce animation

Source

CSS Fade-in Animation

Using CSS, you can add the fade-in blitheness to images and text on your site. Below you lot'll see an paradigm gradually appear from the top of the screen. This animation is particularly effective with this prototype because information technology mimics the motion of a boat lazily drifting down a river.

image becomes more opaque as it moves toward bottom of page using CSS fade-in animation

Source

For more than interactivity, you can pattern the epitome or text to fade-in when a mouse hovers over the chemical element or as a visitor scrolls. Please annotation that the latter will crave both CSS and Javascript because it'due south more complicated.

CSS Hover Animation

To raise your site's interactivity, you can create a CSS hover animation. This type of animation occurs when a site company hovers over an element on the page. You can have elements zoom, flip, rotate, or fifty-fifty finish playing on hover. In the case below, the CTA push changes in size and lets off some sparks when the visitor hovers.

button becomes smaller and releases dots when mouse hoveringusing CSS hover animation

Source

Infinite Loading Animation

When visiting some sites, you'll picket them slowly load: usually the title comes first, so the manifestly body text comes, then the images, and so on. On other sites, that procedure will exist hidden and instead, y'all'll run across an blitheness.

The infinite loading animation is just i of the five website loading animations you can make in CSS to help reduce the user'due south perception of waiting. Since this type of animation lets visitors know the site is loading without specifying how long they'll take to wait, this is perfect when load fourth dimension is unknown.

Hither's a creative one by designer Hoang Nguyen.

Infinite loading CSS animation typeParallax Scrolling

Parallax scrolling is a visual technique in which elements in the background move at a different speed than the foreground as you curlicue. This creates an illusion of depth or a "imitation-3D result" that's intended to make your visitor'southward browsing experience more interesting.

Demo site with specific type of CSS animation type called parallax scrolling

Source

At present that nosotros're familiar with different types of CSS animations, allow'south walk through the process of creating one. Earlier nosotros swoop into the tutorial, let'southward accept a closer expect at the fundamental element of a CSS animation: the @keyframes at-rule.

Keyframe CSS

In CSS, keyframes are used to specify how an animated element should appear throughout the animation cycle.

At least i keyframe must exist divers in a CSS blitheness, but it's most common to see at to the lowest degree ii. Typically, they describe the start and terminate of the animation. Additional keyframes tin can be defined to describe any intermediate steps between the start and end of the animation cycle.

Keyframes are specified using the @keyframes at-rule. Let'south take a look at the syntax of this at-rule.

@keyframes at-rule

The @keyframes at-dominion is written as follows:

                              
@keyframes animation-name {

<percentage> {
property: value
}

<percentage> {
holding: value
}

}

Note that the @keyframes rule must take the aforementioned value as the animation-name property. This allows the browser to match an animation to its keyframes declaration.

The dominion must contain at least one keyframe to depict how the blithe chemical element should render at a given fourth dimension during the animation sequence. Keyframe selectors tin can apply percentages to specify when they take place along the animation wheel. If they are specifying 0% (the start of the animation cycle) or 100% (the terminate of the animation cycle), and then they tin can use the keywords from or to instead.

Let's look at an example. Say the animated element is a div, its blitheness proper noun is "slide-right," and its animation cycle is iv seconds.

Here'due south the CSS for the animated div:

                              
div {
animation-name: slide-right;
animation-duration: 4s;
}

To command how the div renders at a given time during the animation sequence, you tin add a @keyframes at-rule with two or more keyframe selectors.

Let's say y'all desire to add three keyframe selectors. The first selector defines that at the start of the animation, the left margin of the div is 0px. The second selector defines that at the midway signal of the animation wheel (or at 2 seconds), the left margin is 100px. The 3rd selector defines that at the end of the animation (or at 4 seconds, the margin is 200px. Here's how that rule is written:

                              
@keyframes slide-correct {

from {
margin-left: 0px;
}

50% {
margin-left: 100px;
}

to {
margin-left: 200px;
}

}

Here'due south the result:

See the Pen by HubSpot (@hubspot) on CodePen.

CSS Animation Tutorial

Yous can create CSS animations from scratch with only a flake of code.

CSS animations are made upwards of two parts: keyframes and animation properties. And so to create a CSS animation, you lot have to define its keyframes and blitheness properties. Allow's look at how below.

Pace 1: Define your animation'due south keyframes.

The first function of a CSS animation is a set of keyframes. Since keyframes indicate the starting time and end of the blitheness, as well as any intermediate steps, they utilize percentages. These percentages indicate at which point in the animation sequence they take place.

Say yous want to style an element so it slides in from the right side of the browser window, like and then.

CSS animation tutorialBut let'south say you want the animated element to be a paragraph (the <p> element) instead, like in the instance by Mozilla. For this slide-in animation, at that place are just ii keyframes.

The first occurs at 0% or the first moment of the blitheness sequence. Both the left margin and width of the <p> element are configured so that it'due south fatigued from the correct edge of the browser. The second keyframe occurs at 100% (i.e. the final moment of the animation sequence). The left margin and width of the <p> element are configured so that, in one case finished its animation, the paragraph is flush confronting the left edge of the content area.

Take a look at the code below.

                                              

p {

animation-duration: 3s;

animation-proper name: slidein;

}

@keyframes slidein {

from {

margin-left: 100%;

width: 300%;

}

to {

margin-left: 0%;

width: 100%;

}

}

<p>The Caterpillar and Alice looked at each other for some time in silence: at last the Caterpillar took the hookah out of its oral fissure, and addressed her in a languid, sleepy vocalisation.</p>

paragraph animated with CSS so it slides in from the right side of the browser window

Let'south say we want the <p> element to practise something between the get-go and end of the animation. We might, for example, add another keyframe so that the font size of the paragraph increases every bit information technology moves from right to left and then decreases back to its original size by the end of the sequence.

In that example, the lawmaking will wait similar this:

                                              

p {

blitheness-duration: 3s;

blitheness-name: slidein;

}

@keyframes slidein {

from {

margin-left: 100%;

width: 300%;

}

75% {

font-size: 300%;

margin-left: 25%;

width: 150%;

}

to {

margin-left: 0%;

width: 100%;

}

}

<p>The Caterpillar and Alice looked at each other for some time in silence: at last the Caterpillar took the hookah out of its mouth, and addressed her in a languid, sleepy voice.</p>

The blitheness would now wait similar the following.

paragraph animated with CSS to increase as it moves from right to left and then decreases back to its original size by the end of the sequence

With a firmer grasp of keyframes, we tin can now plough our attending to the second part that makes up CSS animations: animation properties.

Step 2: Define your blitheness-name and animation-duration properties.

Animation properties assign the keyframes to a specific element and define how it is animated.

You may accept noticed that the code snippets to a higher place included the following ii backdrop:

  • animation-duration
  • animation-name

These two backdrop are required for any animation to accept effect. Nosotros'll briefly discuss these below.

Animation Proper name

The animation-name holding specifies the name of the keyframe. That'southward why in the examples above the value of the animation-name property — slidein — matched the proper name after @keyframes.

When naming your animation, y'all can employ letters a to z, numbers 0 to 9, underscores, and dashes.

If yous take multiple keyframes describing the animations to apply to an element, then you'll demand to define multiple values for the blitheness-name property. Y'all can carve up these with a infinite and comma.

Animation Duration

The animation-duration property specifies the length of time of the blitheness sequence. While the animation could play on loop forever, it should accept withal many seconds or milliseconds are specified in the animation-elapsing property to complete ane bicycle.

The property can exist defined with nada or any positive value. Negative values are invalid. Below are some examples.

CSS animation-duration property set to three different values

Source

Step 3: Define other blitheness properties you need.

In addition to the animation-name and animation-duration properties, there are other animation properties you can use to create more than complex and custom animations. Let'south ascertain each below.

Blitheness Timing

The animation-timing function sets the step of the blitheness. To specify the timing of your animation, you tin can use the predefined values ease, linear, ease-in, ease-out, and ease-in-out. You lot can also create custom values using the cubic-bezier curve for more advanced timing options.

CSS Animation Easing

If no other value is assigned, the function volition exist set at ease by default. Ease starts out boring, speeds up, then slows downwardly. Below is an example.

circles with CSS animation-timing property set to ease

Source

Set at linear, the blitheness has the same speed from start to finish. With ease-in, the blitheness has a slow commencement. With ease-out, it has a tiresome end. Ease-in-out means the animation has both a slow start and a tiresome end.

Blitheness Delay

Using the animation-delay function, you can specify when the animation starts. Milliseconds and seconds are immune, every bit are positive and negative values. A positive value volition filibuster the animation sequence whereas a negative value will commencement the animation immediately, equally if that amount of time has already gone by.

If you prepare the value at 2s, for example, then the blitheness will showtime 2 seconds later information technology is loaded. If you gear up the value at -2s, then the animation will get-go two seconds into the blitheness wheel.

In the example below, a negative animation delay causes each circle to begin immediately at a different country in the animation cycle.

circles with negative animation delay set in CSS

Source

Blitheness Iteration Count

The animation-iteration-count property specifies the number of times that the animation will play. You lot tin apply a number value to have it repeat a sure number of times.

You lot tin set information technology to initial to use the default value (one), which means the blitheness volition play through its sequence once. You tin can set information technology to inherit to apply the same value as its parent chemical element. Or you can set it to infinite to have it repeat indefinitely. Whatsoever CSS blitheness with its animation-iteration-count set to infinite is considered a CSS loop animation.

Have a look at the demo below which shows three versions of the same blitheness, each with their animation-iteration-count property set at dissimilar values.

three cubes with CSS animation-iteration-count property set to 1, 2, and infinite

Source

Animation Management

The blitheness-direction belongings defines the management of the animation. If you employ the normal or default value, so the blitheness volition play forwards. If you utilize reverse, information technology will play backwards.

To have the animation reverse directions every cycle, yous can use the alternate value (the animation will play frontwards first, then backwards) or the alternate-reverse (the blitheness will play backwards first, then forwards).

Take a expect at the demo showing each direction below.

four cubes with CSS animation-direction property set to normal, reverse, alternate, alternate-reverse

Source

Animation Fill Mode

Using the animation-fill-style function, you lot can have the blitheness styles applied before or after the animation plays.

There are 4 possible values y'all tin set this function to:

  1. If you set the holding value to normal, then styles will but exist applied to the animated element when it'south playing.
  2. If y'all set it to forwards, so the blithe chemical element will retain its style values defined past the last keyframe.
  3. If you lot fix it to backwards, so the element volition accept on the way values divers by the offset keyframe before information technology begins playing.
  4. If you set information technology to both, the animation's manner values will be applied before and after the animation plays.

Beneath is an example of an animation with its blitheness-fill-mode property set to forwards and the default value (normal).

two buttons with CSS animation-fill-mode property set to forwards and normal

Source

Blitheness Play State

With the blitheness-play-state belongings, you can intermission and resume the animation sequence. By default, this holding is set to running but you lot tin can set the belongings value to paused. Resuming a paused animation volition play the blitheness from where it was paused, instead of starting over.

ball with CSS animation-play-state property set to paused

Source

At present that you have a amend understanding of the different parts that brand up an animation, you tin can create your own from scratch — or use a tool to help simplify the process.

CSS Animation Generator

A CSS animation generator can help simplify — and even automate — parts of the process of creating CSS animations. Using one will still require some familiarity with keyframes and animation properties — but it volition reduce the complexity and require yous to write less code.

Allow's take a look at the sleekest and easiest-to-apply options.

Animista

CSS animation generator: Animista

Animista is a free application that allows y'all to customize pre-designed CSS animations. Y'all tin can click on an animation type at the top of the screen (this will exist your blitheness name), and so specify all the animation sub-backdrop in the left sidebar. Most are drop-down menus to brand customizing your blitheness equally easy as possible. When you're ready, you tin can click the Generate Code icon and paste it into your web pages or projects.

CSS Animations Generator

css animation generator: css animations generator by web code tools

Similar to Animista, CSS Animations Generator allows yous to customize the animation sub-properties for an blithe element (merely not the keyframes). When you're ready, yous can re-create the code for the animated element and @keyframes at-rule and paste information technology into your web pages or projects.

Keyframes App

CSS animation generator: Keyframes appDesigned to wait and role like video-editing software, Keyframes is some other complimentary awarding that allows you to create basic or circuitous keyframe animations with a visual timeline editor. You can add "steps" using the timeline at the bottom of the screen and define different animatable properties in the correct sidebar — these will be your keyframes. You can likewise alter the duration, iteration count, and other sub-properties at the lesser of the screen. And then when you're set, you can click the Get CSS button and paste that code into your spider web pages or projects.

Fix to create CSS animations from scratch or with 1 of the generators higher up? In that case, you lot may run across some issues. Permit's look at some means to troubleshoot if your animations aren't working equally yous expect.

CSS Animation Not Working

Beginner developers and experienced ones may run into bug when creating CSS animations If yours isn't working at all or as you intended, try checking for these common bug.

1. The animation-proper noun property isn't defined.

The animation-name holding is required. Otherwise, the blitheness won't render.

2. The animation-elapsing holding isn't divers.

The animation-duration holding must besides be set.Otherwise, the default value is set to zero seconds and then the blitheness won't render.

3. No @keyframes at-dominion is defined.

Animations are simply executed when blitheness backdrop are applied, and so they require explicit values for the properties being blithe. These values are specified using keyframes. If these are not specified in a @keyframes at-rule, so the blitheness volition not occur.

4. The proper noun of your @keyframes at-rule doesn't match the name of your animation.

The proper name of the @keyframes at-rule must match the value of the animation-name holding. Otherwise, the browser won't exist able to match the blitheness with its keyframes declaration and the blitheness won't render.

v. The blitheness-fill-mode belongings is not set.

By default, CSS animations revert an element dorsum to its pre-blithe state one time the animation bike finishes. This tin can make the animation wait broken. To avert this, you lot can define the blitheness-fill-manner.

6. The CSS property yous're attempting to animate isn't animatable.

Some CSS backdrop aren't animatable, which ways they can't be used in animations (or transitions). Bank check out our list of animatable CSS properties for the property yous're trying to animate. If it's not on there, you'll need to utilise another CSS property to attain a similar effect.

7. CSS animations are not supported on your browser version.

If your CSS animation isn't working, the problem might be your browser and non your code. While CSS animations work on nigh mod mobile and desktop browsers, older browsers or older versions of browsers don't. In that case, y'all'll need to switch or update your browser.

viii. Values for the CSS shorthand property are in the wrong gild.

CSS shorthand is platonic for writing cleaner CSS — but it can be more hard to write since the order of values matters. At that place'south no strict order for every single sub-holding, but some practice matter. For example, the commencement "fourth dimension" value will be assigned to the animation-elapsing property and the second will be assigned to the animation-delay property so you shouldn't mix up those values. Here is the typical order for the values for the shorthand animation property: animation-proper noun, duration, timing-function, delay, iteration-count, direction, fill-mode, play-state.

For a consummate list of reasons your animations may not be working at all or as you intended (plus examples!), check out CSS Animations Not Working? Endeavour These Fixes.

Now that nosotros know how to create CSS animations from scratch or with a generator and how to troubleshoot any bug, let's look at some examples for inspiration.

one. 7up Lemon Lemon

In 2017, PepsiCo released a new drink called 7up Lemon Lemon. To promote the premium sparkling lemonade, the 7up site was redesigned using CSS animation. Combining the fade-in and wobble blitheness, developers fabricated the page fizz like the beverage. The page has since been redesigned.

7up Lemon Lemon CSS animation example

2. 2016 Kikk Festival

Each year, the bureau dogstudio rebrands the Kikk Festival's website. In 2016, dogstudio redesigned the site using CSS animation to create image and page glitches that represented the festival's theme of "interference."

2016 Kikk Festival CSS animation example

3. Apple iPad Pro

To promote the iPad Pro in 2019, Apple tree took an interesting spin on parallax scrolling. Scrolling horizontally instead of vertically, yous could observe the text, images, and other visual elements moving effectually at different speeds. These CSS animations kept visitors engaged equally they scrolled through the page to learn more than about the product. The page has since been redesigned.

Apple iPad Pro CSS animation example

4. In Pieces

Bryan James, a designer based in the UK, created an interactive exhibition called "Pieces" that profiles 30 endangered species. Using CSS animations, James designed the site to have the same xxx pieces arranging and rearranging themselves into the shape of each animal as you lot scroll through the exhibit.

CSS animation on scroll

five. Jeans for Refugees

Jeans for Refugees is a global fundraising initiative that artist Johny Darde created to aid refugees effectually the world. The agency Lilo created the Jeans for Refugees site pro bono to support the initiative. The bureau used CSS animations to make elements that look like paint strokes form and re-grade into words on the page.

Jean for Refugees CSS animation example

6. Chekhov Is Alive

Using colour and fade-in, among many other CSS animations, developers were able to bring xxx of Anton Chekhov'south near famous characters to life. Originally created so that users could audition to play a role in a live Google circulate of Chekhov'south stories in 2015, this personality exam let people discover out which Chekhov graphic symbol they most closely resembled. Information technology's no longer alive.

Chekhov is alive css animation example

7. MY / STATIC / Self

The homepage of John Iacoviello's personal portfolio is a attestation to his skills as an accolade-winning developer. Although the glitch result practical to the primal object (is information technology a stereo system? Hard bulldoze?) is the almost obvious, you might also notice that the bounce and rotate blitheness are being used.

MY / STATIC / SELF portfolio CSS animation example

8. Portion

Portion is a premier online marketplace for artists and collectors to connect and easily and securely sell or purchase art using Blockchain engineering science. While the entire website'south pattern demonstrates the company's purpose and values — have the transparent sale firm on the homepage, for case — you get this impression right abroad thanks to the CSS loading animation. This animation of Portion's brand logo — a articulate and elementary construction of connected lines that looks similar an inverse crown — invokes the ideas of regality, connexion, and blockchain.

CSS infinite loading animation example-1

nine. Travelshift

As a travel website, Travelshift has a unique navigation system with horizontal scrolling, several transitions, and parallax sections. These animations and effects make the reader feel immersed in the images then that they get a taste of the adventures they could accept if they booked a trip with Travelshift.

Travelshift Parallax scrolling animation example

ten. Soletanche Bachy

The Solentanche Bachy'due south website showcases the structure projection of a new metro station in Signapore. CSS slide-in and rotate animations, among other effects, turn the website into an interactive blueprint for those who are interested in the location, design, and engineering of this station.

CSS slide-in and rotate animations example on Soletanche Bachy

11. Ember House

When Ember House redesigned their site two years ago, they wanted to prove that they were different from other financial consulting companies because they cared about their clients' well-being. To convey this idea, the Behance agency focused on the idea of an ember as the starting point of a good campfire. Using a combination of slide-in, moving ridge, and rotation animations, they fabricated information technology wait like embers were floating across the screen. They also used CSS text animation to underline fundamental parts of the messaging similar "experience good" and "warm up to your wealth."

CSS text animation example on Ember House

12. Locomotive

Locomotive is a Canadian-based agency that aims to push new ideas and stand out among other agencies without taking themselves as well seriously. This is embodied past its utilise of CSS animations, particularly the bounciness blitheness, across its website. The top of its web pages look about similar text written on lined paper — just with a playful twist. The lines bounciness to keep readers engaged as the rest of the content on the folio loads.

CSS bounce animation example on Locomotive website

thirteen. Volcan

Several scrolling furnishings keep visitors engaged on the Volcan site. Ane is a CSS text animation triggered as the reader scrolls downwardly the page. It looks as if the paragraph is existence shaken like a towel, and then laid apartment on the page.

CSS Text animation example on Volcan

xiv. Wide Eye

Broad Eye is a creative agency that works with changemakers and visionaries to create designs, branding, and digital products that will assistance them practise the virtually good. This combination of social activism and innovative blueprint is demonstrated by the text blitheness on its homepage. The text offset slides in from the left. Then new words slide in and out to consummate the sentence. The effect is engaging, emotional, and eye-catching — the three eastward's that Wide Eye hope to capture in every digital experience.

CSS slide-in animation example on Wide Eye website

15. Annatwelve

Annatwelve'southward website showcases its collection of nine luxury fragrances designed for those who are ill of what's "obvious" and want "something more." To entreatment to this demographic, the site has a unique horizontal navigation menu with each of the fragrances as a main navigation option rotated 90 degrees to the left. When you lot hover over one of the fragrances, the others fade from solid white to a much more than transparent white. As a upshot of these hover and color animations, it most looks like a spotlight is shining on the fragrance name y'all're hovering over.

Annatwelve hover animation example-min

Now that we've checked out some examples of CSS animations on existent websites, you'll exist able to identify other examples on the internet. To avoid a common misconception, let's differentiate betwixt CSS transitions and animations.

CSS Transition vs. Animation

Though frequently grouped together, CSS animations are different from CSS transitions. One major departure is that CSS transitions require a trigger — similar a visitor clicking on an element, for example. Animations, on the other hand, don't require triggering. Past default, an animation will automatically begin its sequence when the page loads. (It's important to annotation that some developers will utilise jQuery or implement another way of triggering an animation, just they don't need to).

Another major difference is that transitions can but motility from an initial state to a concluding state. You cannot specify any intermediate points like yous can with an animation.

Nor tin can you have a transition loop or repeat backwards. That's because, while animations take the animation-iteration-count and animation-direction property, transitions don't have properties that specify how many times they can run or what management they can run in. As a event, a transition runs only once when triggered.

At present that nosotros have a better understanding of what CSS animation is (and is non), permit's take a look at a specific subset chosen 3D transforms.

CSS 3D Blitheness

CSS 3D animation — unremarkably referred to as 3D transforms — opens up a new realm of graphic design. With 3D transforms, forepart-end developers can add together a new dimension to traditional websites to enhance their design.

For example, consider the interpret function. Translate moves an chemical element from indicate A to B. In second, y'all can use translate to movement an element forth the horizontal X-axis or the vertical Y-axis. In the example below, the black ball moves across the X-centrality.

ball animated with CSS translate function in 2D

Source

Using a 3D transform office, however, yous can position an element along the Z-axis. Since this axis runs forepart to back in 3D space, you can move an element closer to the viewer and then farther away. Take a look at the example beneath.

cube animated with 3d transform CSS function

Source

As with any animations, 3D transforms should be more than but center candy. When used wisely, they can solve interface challenges and enhance the visitor feel. When used without strategic purpose, they can be distracting and ataxia your interface.

Bringing Your Site to Life

From subtle transitions to a completely illustrated site, you can find animations on most websites today. Making 3D effects and interactive details office of your web design strategy can ameliorate the visitor experience and differentiate your site from competitors.

Editor's note: This post was originally published in March 2020 and has been updated for comprehensiveness.

New Call-to-action

css introduction

Originally published Sep 21, 2021 vii:00:00 AM, updated April 20 2022

Source: https://blog.hubspot.com/website/css-animation

Posted by: reeseacceent.blogspot.com

0 Response to "Should I Use Css Or Javascript For Animation"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel