HTML 下雪特效实现代码 - 简洁易懂
以下是一个简单的 HTML 下雪特效代码,您可以直接复制到您的 HTML 文件中:
<!DOCTYPE html>
<html>
<head>
<title>Snow Effect</title>
<style>
body {
background-color: #000;
overflow: hidden;
}
.snowflake {
color: #fff;
font-size: 2em;
line-height: 1;
position: absolute;
top: -10%;
animation: snow 10s linear infinite;
}
@keyframes snow {
0% {
top: -10%;
transform: translateX(0);
}
100% {
top: 100%;
transform: translateX(500px);
}
}
</style>
</head>
<body>
<script>
// 创建雪花
var flakes = ['❅', '❆', '❄'];
setInterval(function(){
var flake = document.createElement('div');
flake.innerHTML = flakes[Math.floor(Math.random()*flakes.length)];
flake.className = 'snowflake';
flake.style.left = Math.random() * 100 + '%';
flake.style.animationDuration = Math.random() * 10 + 5 + 's';
document.body.appendChild(flake);
setTimeout(function(){
document.body.removeChild(flake);
}, 10000); // 10 秒后移除雪花
}, 100); // 每 100 毫秒添加一个新的雪花
</script>
</body>
</html>
解释:
body元素的背景色设置为黑色,并隐藏滚动条。.snowflake类表示雪花元素,设置字体颜色为白色,字体大小为 2em,行高为 1,定位为绝对位置,初始位置在屏幕上方外部,动画效果为线性的 10 秒钟的 '雪落' 动画。@keyframes规则定义 '雪落' 动画的初始和结束状态,初始状态为top: -10%(即在屏幕上方外部),结束状态为top: 100%(即在屏幕下方外部),并在 x 轴方向上平移 500px。- JavaScript 代码创建雪花元素,并将其添加到
body元素中。每隔 100 毫秒添加一个新的雪花元素。每个雪花元素的位置和动画持续时间都是随机生成的。10 秒钟后,删除雪花元素。
注意: 此特效可能会使页面卡顿或加载缓慢,特别是在低性能设备上。建议在需要特效的页面上使用异步加载或懒加载来提高页面性能。
原文地址: https://www.cveoy.top/t/topic/mi4Y 著作权归作者所有。请勿转载和采集!