CSS 制作雪花下落动画效果
我们可以使用HTML和CSS创建动画。当我们向网页添加动画时,可以改善应用程序的用户体验。我们可以使用CSS的 关键帧 属性创建各种动画,并使用“animation”CSS属性应用它。
在本教程中,我们将学习如何使用CSS创建雪花下落动画效果。
语法
用户可以按照下面的语法来使用CSS创建雪花下落动画效果。
<div class = "snow"> </div>
.snow{
animation: snow 7s linear infinite;
}
.snow:nth-child(2) {
left: 20%;
animation-delay: 1s;
}
在上面的语法中,我们创建了一个带有“snow”类名的div元素,并将“snow” 关键帧 作为动画的值添加进去。此外,我们可以使用nth-child CSS属性为每个“snow” div设置动画延迟和左侧位置。
示例1
在下面的示例中,我们在HTML中创建了多个带有“snow”类名的div元素。在CSS中,我们最初为雪元素设置了固定的宽度和高度。同时,我们设置了每个雪元素的背景和位置。
我们添加了雪的动画,以移动div元素并创建下雪效果。此外,我们定制了每个雪元素,改变了每个雪元素的尺寸、透明度和左侧位置。
另外,我们为每个雪元素设置了动画延迟。因此,我们可以看到雪元素在屏幕上以不同的时间下落。
<html>
<head>
<style>
* {background-color: darkblue; color: white;}
/* add snowfall animation */
.snow {
position: absolute;
top: -50px;
left: -50px;
width: 15px;
height: 15px;
border-radius: 50%;
background: white;
animation: snow 7s linear infinite;
}
.snow:nth-child(1) {
left: 10%;
opacity: 0.3;
height: 10px;
width: 10px;
animation-delay: 0s;
}
.snow:nth-child(2) {
left: 20%;
opacity: 0.5;
animation-delay: 1s;
}
.snow:nth-child(3) {
left: 30%;
height: 5px;
width: 10px;
animation-delay: 2s;
}
.snow:nth-child(4) {
left: 40%;
height: 8px;
width: 13px;
animation-delay: 1s;
}
.snow:nth-child(5) {
left: 50%;
opacity: 0.7;
animation-delay: 4s;
}
.snow:nth-child(6) {
left: 60%;
opacity: 0.3;
height: 20px;
width: 13px;
animation-delay: 8s;
}
.snow:nth-child(7) {
left: 70%;
opacity: 0.9;
height: 17px;
width: 10px;
animation-delay: 6s;
}
.snow:nth-child(8) {
left: 80%;
opacity: 0.6;
animation-delay: 7s;
}
.snow:nth-child(9) {
left: 90%;
height: 12px;
width: 12px;
animation-delay: 5s;
}
.snow:nth-child(10) {
left: 80%;
height: 22px;
width: 16px;
animation-delay: 9s;
}
@keyframes snow {
0% {
transform: translateX(0) translateY(0);
}
100% {
transform: translateX(80px) translateY(1000px);
}
}
</style>
</head>
<body>
<h2> Adding the <i> Snowfall animation </i> using HTML and CSS. </h2>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
<div class = "snow"> </div>
</body>
</html>
示例2
在下面的示例中,我们使用了 “Jquery-snowfall” 库来使用 Jquery 创建下雪效果。我们在
部分使用 CDN 添加了该库。在 jQuery 中,我们调用 snowfall() 方法来创建下雪效果。此外,我们还向 snowfall() 方法传递了一些参数。
在输出中,用户可以观察到比上一个示例更好的下雪效果。
<html>
<head>
<style>
* {
color: blue;
}
.snow-fall {
height: 600px;
width: 600px;
background-color: blue;
}
</style>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/JQuery-Snowfall/1.7.4/snowfall.jquery.min.js"> </script>
</head>
<body>
<h2> Adding the <i> Snowfall animation </i> using HTML and JQuery. </h2>
<div class = "snow-fall"> </div>
<script>
$('.snow-fall').snowfall({ flakeCount: 500, maxSpeed: 2, maxSize: 10 });
</script>
</body>
</html>
用户学习了创建雪花效果的两种不同方法。在第一种方法中,我们仅使用了HTML和CSS。开发人员可以观察到代码非常复杂且难以阅读,因为它需要使用CSS创建每个雪花元素并对其进行操作。在第二种方法中,我们使用了jQuery的外部第三方库来创建雪花效果。