html实现可复制的流星雨特效代码

以下是一个简单的 HTML 实现流星雨特效的代码:

<!DOCTYPE html>
<html>
<head>
	<title>流星雨特效</title>
	<style>
		body {
			background-color: #000000;
		}
		.star {
			position: absolute;
			background-color: #FFFFFF;
			border-radius: 50%;
			width: 3px;
			height: 3px;
			opacity: 0;
			animation: blink 2s infinite;
		}
		@keyframes blink {
			50% {
				opacity: 1;
			}
		}
		.meteor {
			position: absolute;
			background-image: linear-gradient(45deg, #FFFFFF, transparent);
			height: 20px;
			width: 2px;
			animation: fall linear 0.5s infinite;
		}
		@keyframes fall {
			from {
				transform: translate(-20px, -20px);
			}
			to {
				transform: translate(100vw, 100vh);
			}
		}
	</style>
</head>
<body>
	<script>
		function createStar() {
			const star = document.createElement("div");
			star.classList.add("star");
			star.style.top = Math.random() * window.innerHeight + "px";
			star.style.left = Math.random() * window.innerWidth + "px";
			document.body.appendChild(star);
			setTimeout(() => {
				star.remove();
			}, 2000);
		}

		function createMeteor() {
			const meteor = document.createElement("div");
			meteor.classList.add("meteor");
			meteor.style.top = Math.random() * window.innerHeight + "px";
			meteor.style.left = Math.random() * window.innerWidth + "px";
			document.body.appendChild(meteor);
			setTimeout(() => {
				meteor.remove();
			}, 500);
		}

		setInterval(createStar, 50);
		setInterval(createMeteor, 1000);
	</script>
</body>
</html>

这段代码使用了 HTML、CSS 和 JavaScript 来创建流星雨特效。它首先定义了两种元素,.star.meteor,用于表示星星和流星。.star 元素使用了闪烁的动画,而 .meteor 元素使用了向下移动的动画。

接下来,使用 JavaScript 创建了两个函数 createStarcreateMeteor,分别用于创建星星和流星。这些函数在随机位置创建了对应的元素,并在一定时间后将它们删除,以保证不会出现太多的元素导致页面崩溃。

最后,使用 setInterval 函数调用这两个函数,以使它们以一定的频率不断创建新的元素,从而形成流星雨特效。

猜你喜欢:

html实现代码雨教程及源码分享

html生日蛋糕动画特效代码

java实现满天星星特性代码示例