How to use pure CSS to achieve an animation effect without DOM elements
This article is about how to use pure CSS to achieve an animation effect without DOM elements. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.
Code interpretation
There is no dom element, just write css.
Set up the page space:
Body {
Position:fixed
Margin:0
Width:100vw
Height:100vh
}
Set the background pattern with pseudo elements:
Body::before {
Content:''
Position:fixed
Width:200vmax
Height:200vmax
Background-color:steelblue
Color:turquoise
Background-image:
Linear-gradient (
45deg
CurrentColor25%
Transparent25%,transparent75%
CurrentColor75%)
Linear-gradient (
45deg
CurrentColor25%
Transparent25%,transparent75%
CurrentColor75%)
Background-position:00,5vmax5vmax
Background-size:10vmax10vmax
Pan the background pattern:
Body::before {
Top:50%
Left:50%
Animation:
9smoveinfiniteease-in-outalternate
}
@ keyframesmove {
From {
Left:-40%
Top:-40%
}
To {
Left:-60%
Top:-60%
}
}
Let the background pattern rotate:
Body::before {
Animation:
9smoveinfiniteease-in-outalternate
9s-1.5srotatinginfiniteease-in-outalternate
}
@ keyframesrotating {
To {
Transform:rotate (180deg)
}
}
Pan the page:
Body {
Top:50%
Left:50%
Animation:
3smoveinfiniteease-in-outalternate
}
Zoom the page:
Body {
Animation:
3smoveinfiniteease-in-outalternate
3szoominfiniteease-in-outalternate
}
@ keyframeszoom {
To {
Transform:scale (10)
}
}
Finally, add the discoloration effect:
@ keyframesrotating {
To {
Transform:rotate (180deg)
Filter:hue-rotate (1turn)
}
}
The great task has been completed!
Thank you for reading! On "how to use pure CSS to achieve an animation effect without DOM elements" this article is shared here, I hope the above content can be of some help to you, so that you can learn more knowledge, if you think the article is good, you can share it out for more people to see it!