给大家分享一个用CSS 3.0实现的落叶飘飞动画特效,效果如下:
以下是代码实现,欢迎大家复制、粘贴和收藏。
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 3.0实现落叶飘飞动画特效</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
section {
position: relative;
width: 100%;
height: 100vh;
background: radial-gradient(#333, #000);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
section h2 {
color: #fff;
font-size: 8em;
text-transform: uppercase;
}
section .set {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
pointer-events: none;
}
section .set div {
position: absolute;
display: block;
}
section .set div:nth-child(1) {
left: 20%;
animation: animate 15s linear infinite;
animation-delay: -7s;
}
section .set div:nth-child(2) {
left: 50%;
animation: animate 20s linear infinite;
animation-delay: -5s;
}
section .set div:nth-child(3) {
left: 70%;
animation: animate 20s linear infinite;
animation-delay: 0s;
}
section .set div:nth-child(4) {
left: 0%;
animation: animate 15s linear infinite;
animation-delay: -5s;
}
section .set div:nth-child(5) {
left: 85%;
animation: animate 18s linear infinite;
animation-delay: -10s;
}
section .set div:nth-child(6) {
left: 0%;
animation: animate 12s linear infinite;
}
section .set div:nth-child(7) {
left: 15%;
animation: animate 14s linear infinite;
}
section .set div:nth-child(8) {
left: 60%;
animation: animate 15s linear infinite;
}
@keyframes animate {
0% {
opacity: 0;
top: -10%;
transform: translateX(20px) rotate(0deg);
}
10% {
opacity: 1;
}
20% {
transform: translateX(-20px) rotate(45deg);
}
40% {
transform: translateX(-20px) rotate(90deg);
}
60% {
transform: translateX(20px) rotate(180deg);
}
80% {
transform: translateX(-20px) rotate(180deg);
}
100% {
top: 110%;
transform: translateX(-20px) rotate(225deg);
}
}
.set-2 {
transform: scale(2) rotateY(180deg);
filter: blur(2px);
}
.set-3 {
transform: scale(0.8) rotateY(180deg);
filter: blur(4px);
}
</style>
</head>
<body>
<section>
<h2>Falling Leaves</h2>
<div class="set">
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
</div>
<div class="set set-2">
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
</div>
<div class="set set-3">
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
<div><img src="leaves1.png" alt=""></div>
<div><img src="leaves2.png" alt=""></div>
<div><img src="leaves3.png" alt=""></div>
<div><img src="leaves4.png" alt=""></div>
</div>
</section>
</body>
</html>
以下是上面代码中引入的树叶图片。
leaves1.png
leaves2.png
leaves3.png
leaves4.png