The @keyframes
rule:
The @keyframes
rule in CSS is used to define animations. It allows you to specify the style changes that occur over a series of keyframes during an animation sequence. Each keyframe specifies how the element should look at a certain point in time during the animation.
Syntax:
@keyframes animation-name {
keyframe-selector-1 {
/* CSS properties and values at the first keyframe */
}
keyframe-selector-2 {
/* CSS properties and values at the second keyframe */
}
/* More keyframes as needed */
}
animation-name
: This is a custom name you give to your animation sequence, which you can later reference when applying the animation to an element using theanimation
property.keyframe-selector
: This specifies the percentage of the animation duration (0% to 100%) or keywords (from
andto
) representing the starting and ending points of the animation.
Here’s a simple example of a @keyframes
rule defining a basic animation that gradually changes the opacity of an element:
@keyframes fade-in {
from {
opacity: 0; /* Element starts completely transparent */
}
to {
opacity: 1; /* Element becomes fully opaque */
}
}
In this example:
fade-in
is the custom name given to the animation sequence.from
represents the starting point of the animation (equivalent to0%
).to
represents the ending point of the animation (equivalent to100%
).
Once you have defined your @keyframes
rule, you can apply it to an element using the animation
property in combination with the animation name and other animation-related properties (such as duration, timing function, etc.).
.element {
animation: fade-in 1s ease-out;
}
This would apply the fade-in
animation to the .element
class, with a duration of 1s
and an ease-out timing function.
In summary, the @keyframes
rule is essential for defining the sequence of style changes that occur during an animation in CSS. It provides the foundation for creating dynamic and visually appealing effects on web pages.