要实现星星闪烁效果,我们可以使用JavaScript结合CSS动画来完成。以下是实现这一效果的基础概念、优势、类型、应用场景以及具体的代码示例。
@keyframes
规则定义动画序列,然后应用到HTML元素上。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Starfield Animation</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="starfield"></div>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body, html {
margin: 0;
padding: 0;
overflow: hidden;
background: black;
}
.star {
position: absolute;
width: 2px;
height: 2px;
background: white;
border-radius: 50%;
opacity: 0;
animation: blink 1s infinite;
}
@keyframes blink {
0%, 100% { opacity: 0; }
50% { opacity: 1; }
}
// script.js
document.addEventListener('DOMContentLoaded', function() {
const starfield = document.getElementById('starfield');
const numStars = 100;
for (let i = 0; i < numStars; i++) {
const star = document.createElement('div');
star.className = 'star';
star.style.left = `${Math.random() * 100}vw`;
star.style.top = `${Math.random() * 100}vh`;
star.style.animationDuration = `${Math.random() * 2 + 1}s`; // Random duration between 1 and 3 seconds
starfield.appendChild(star);
}
});
div
用于放置星星。requestAnimationFrame
优化动画性能。通过以上步骤和代码示例,你可以实现一个简单的星星闪烁效果,并根据需要进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云