使用 CSS 实现雪花动画效果
我们可以使用 HTML 和 CSS 创建动画。当我们向网页添加动画时,可以提升应用程序的用户体验。我们可以使用 CSS 的 keyframes 属性创建各种动画,并通过 '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' keyframes 作为 animation 属性的值。此外,我们可以使用 nth-child CSS 属性为每个 'snow' div 设置动画延迟和左侧位置。
示例 1
在下面的示例中,我们在 HTML 中创建了多个具有 'snow' 类名的 div 元素。在 CSS 中,我们最初为 snow 元素设置了固定的宽度和高度。此外,我们还为每个 snow 元素设置了背景和位置。
我们添加了 snow 动画来移动 div 元素并创建雪花效果。此外,我们自定义了每个 snow 元素,并更改了每个 snow 元素的尺寸、不透明度和左侧位置。
此外,我们还为每个 snow 元素设置了动画延迟。因此,我们可以看到雪花元素在不同的时间出现在屏幕上。
<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 在 <head> 部分添加了该库。
在 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 的外部第三方库来创建雪花效果。