search
HomeWeb Front-endCSS TutorialMastering CSS Basic Animation Concepts

CSS Animation: Magic that gives websites vitality and dynamic

CSS animation is like magic, making the website more energetic and attractive. Through animation, you can easily move the website elements, change its color and adjust its size smoothly.

In order to make your animation more interactive and smooth, you first need to understand the basic animation concept. In this article, you will learn the basic rules and animation attributes of animation to control the behavior of the animation.

Let's start! ?

To start using CSS animation, you need to understand two basic components:

  • @Keyframes: The blueprint of animation.
  • Animation attributes:
  • Control the setting of animation.
  • @Keyframes

@Keyframes is an animation roadmap. You can define the starting point and end of the animation and the steps between the animation.

This means that this part defines how the animation starts, how to run in the middle and how the animation end.

grammar:

For example:

<code>@keyframes animationName {
  from {
    /* 开始样式 */
  }
  to {
    /* 结束样式 */
  }
}</code>

In this example, the opacity of the element will start from 0 and then to 1.

Before continuing, please check this e -book, which will make you a CSS animation expert:
<code>@keyframes fadeIn {
  from {
    opacity: 0; /* 不可见 */
  }
  to {
    opacity: 1; /* 可见 */
  }
}</code>

? CSS Animation Extract: Best Practice, Skills and Performance Tips

From simple fading out to complex animation, this e -book covers everything to master CSS animation, including:

timing function

Key frame and animation process

Performance optimization
    The application of real world
  • Developers who want to create a smooth CSS animation. Get your copy immediately!
  • Animation attributes
  • In order to customize the CSS animation, different attributes are used. Each attribute has its own role and defines the behavior of animation.
  • The animation attribute is directly applied to the element, defining the name, duration, delay, direction, etc. of the animation.

grammar:

For example:

In this example, the elements named "BOX" will first be visible, and it will be visible after two seconds, which will produce a smooth and off -income effect. In CSS, you have the following animation attributes:

<code>.element {
  animation-name: fadeIn; /* 动画名称或@keyframes */
  animation-duration: 2s; /* 动画持续时间 */
}</code>

Animation-name Animation-duration

<code>.box {
   height: 100px;
   width: 100px;
   background-color: rgb(44, 117, 117);
   animation-name: fadeIn;  /* 动画名称 */
   animation-duration: 2s; /* 动画持续时间 */
}
@keyframes fadeIn {
   from {
     opacity: 0; /* 不可见 */
   }
   to {
     opacity: 1; /* 可见 */
   }
}</code>
Animation-Timing-Function

Animation-delay

Animation-ITeration-COUNT
  • Animation-Direction
  • Animation-Fill-Mode
  • Animation-PLAY-State
  • Now, let us understand each attribute.
  • Animation-name
  • Function:
  • This attribute is used to define which @Keyframes animation should be applied.
For example, if you have two @Keyframes named fadein or fadeout, you can use the Animation-name property definition which element should apply Fadein animation in which element.

grammar:

For example:

Animation-name attribute is necessary for running animation.

Animation-duration

Function:

This attribute defines the duration of animation, that is, how long the animation is running.

You can define the animation duration as a unit in seconds (s) or milliseconds (ms).

grammar:

<code>@keyframes animationName {
  from {
    /* 开始样式 */
  }
  to {
    /* 结束样式 */
  }
}</code>
For example:

If you are not defined with Animation-Duration, it will automatically set to 0s (default value), which will cause the animation to fail.
<code>@keyframes fadeIn {
  from {
    opacity: 0; /* 不可见 */
  }
  to {
    opacity: 1; /* 可见 */
  }
}</code>

Animation-Timing-Function Function:

This attribute is used to define the speed mode of animation. This means that you can use this attribute to define whether the animation is slow, run at a constant speed or run quickly.

It has the following values:

Linear: The animation will run at a constant speed.

Ease: Start slowly, fast in the middle, and end slowly.

    Ease-in: Start slowly.
  • Ease-OUT: Slowly end.
  • Ease-in-OUT: Start and end slowly.
  • Cubic-Bezier (X1, Y1, X2, Y2): Custom speed mode.
  • Example:
Animation-delay

Function:

<code>.element {
  animation-name: fadeIn; /* 动画名称或@keyframes */
  animation-duration: 2s; /* 动画持续时间 */
}</code>
How long will this attribute definition animation wait before starting, that is, the delay of animation.

grammar:

Example:

Animation-ITeration-COUNT

Function:
<code>.box {
   height: 100px;
   width: 100px;
   background-color: rgb(44, 117, 117);
   animation-name: fadeIn;  /* 动画名称 */
   animation-duration: 2s; /* 动画持续时间 */
}
@keyframes fadeIn {
   from {
     opacity: 0; /* 不可见 */
   }
   to {
     opacity: 1; /* 可见 */
   }
}</code>

This attribute is used to define the repeated number of animation, that is, how many times the animation will be repeated.

It has the following values:
<code>animation-name: animationName;</code>

1: The animation will only run once (this is the default value).

Infinite: The animation will be repeated.

Any number: The animation will run the number of times you define.

Example:

  • Animation-Direction
  • Function:
This attribute defines the direction of animation.

It has the following values:

<code>animation-name: fadeIn;</code>
NORMAL: The animation will run forward (this is the default value).

Reverse: The animation will run in reverse.

Alternate: The animation will run alternately, one move forward, once.

Alternate-Reverse: The animation will first run in the reverse and then run forward.

Example:

  • Animation-Fill-Mode
  • Function:
  • This attribute is used to define the element style before and after the start of the animation. It defines which styles should be applied to elements when the animation is not played.
It allows you to control the appearance of the element before and after the animation, so that you are more flexible when managing the state of element during the animation process.

It has the following values:

<code>animation-duration: time;</code>
None: No style is used before and after the animation.

Forwards: Keep the end of the animation.

Backwards: This will also apply the starting style of the animation within the delay time.

Both: Treatment to start and end.

Example:

    Animation-PLAY-State
  • Function:
  • This attribute specifies the status of animation: run or pause.
  • It has the following values:
    • running: The animation will continue.
    • paused: The animation will be stopped but the state will be retained.

    Example:

<code>@keyframes animationName {
  from {
    /* 开始样式 */
  }
  to {
    /* 结束样式 */
  }
}</code>

This property is used for interactive animations, for example, pausing animations on hover.

Animation shorthand syntax

Animation shorthand allows you to define multiple animation properties in one line. You can combine them into one line to improve readability instead of writing each animation property one by one.

Grammar:

<code>@keyframes fadeIn {
  from {
    opacity: 0; /* 不可见 */
  }
  to {
    opacity: 1; /* 可见 */
  }
}</code>

Example:

<code>.element {
  animation-name: fadeIn; /* 动画名称或@keyframes */
  animation-duration: 2s; /* 动画持续时间 */
}</code>

Here,

  • slide: The name of the animation.
  • 3s: The animation duration is 3 seconds.
  • ease-in-out: The timed function is ease-in-out, which means the animation will start slowly, speed up, and then slow down again.
  • 1s: The animation will start after a 1 second delay.
  • infinite: The animation will repeat infinitely.
  • alternate: The animation will alternate between moving forward and backward on each iteration.
  • forwards: The styles that were applied at the last keyframe (at 100%) will be retained after the animation is complete.

Animation Cheat Sheet

I've created a comprehensive CSS Animation Cheat Sheet that covers all the key concepts, properties, and syntax used in CSS animations.

You can download the cheat sheet on GitHub by clicking the link below:

https://www.php.cn/link/02f5df8adf0db026d38425594e68a007

Mastering CSS Basic Animation Concepts

That’s it.

I hope it helps.

Thank you for reading.

If you find my articles helpful and would like to support my work, please consider buying me a coffee☕.

For more content like this, click here.

Follow me on X (Twitter) for daily web development tips.

Keep coding! !

The above is the detailed content of Mastering CSS Basic Animation Concepts. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
This Isn't Supposed to Happen: Troubleshooting the ImpossibleThis Isn't Supposed to Happen: Troubleshooting the ImpossibleMay 15, 2025 am 10:32 AM

What it looks like to troubleshoot one of those impossible issues that turns out to be something totally else you never thought of.

@keyframes vs CSS Transitions: What is the difference?@keyframes vs CSS Transitions: What is the difference?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

Using Pages CMS for Static Site Content ManagementUsing Pages CMS for Static Site Content ManagementMay 13, 2025 am 09:24 AM

I know, I know: there are a ton of content management system options available, and while I've tested several, none have really been the one, y'know? Weird pricing models, difficult customization, some even end up becoming a whole &

The Ultimate Guide to Linking CSS Files in HTMLThe Ultimate Guide to Linking CSS Files in HTMLMay 13, 2025 am 12:02 AM

Linking CSS files to HTML can be achieved by using elements in part of HTML. 1) Use tags to link local CSS files. 2) Multiple CSS files can be implemented by adding multiple tags. 3) External CSS files use absolute URL links, such as. 4) Ensure the correct use of file paths and CSS file loading order, and optimize performance can use CSS preprocessor to merge files.

CSS Flexbox vs Grid: a comprehensive reviewCSS Flexbox vs Grid: a comprehensive reviewMay 12, 2025 am 12:01 AM

Choosing Flexbox or Grid depends on the layout requirements: 1) Flexbox is suitable for one-dimensional layouts, such as navigation bar; 2) Grid is suitable for two-dimensional layouts, such as magazine layouts. The two can be used in the project to improve the layout effect.

How to Include CSS Files: Methods and Best PracticesHow to Include CSS Files: Methods and Best PracticesMay 11, 2025 am 12:02 AM

The best way to include CSS files is to use tags to introduce external CSS files in the HTML part. 1. Use tags to introduce external CSS files, such as. 2. For small adjustments, inline CSS can be used, but should be used with caution. 3. Large projects can use CSS preprocessors such as Sass or Less to import other CSS files through @import. 4. For performance, CSS files should be merged and CDN should be used, and compressed using tools such as CSSNano.

Flexbox vs Grid: should I learn them both?Flexbox vs Grid: should I learn them both?May 10, 2025 am 12:01 AM

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

Orbital Mechanics (or How I Optimized a CSS Keyframes Animation)Orbital Mechanics (or How I Optimized a CSS Keyframes Animation)May 09, 2025 am 09:57 AM

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools