在网页设计中,闪烁的星星效果是一种非常受欢迎的装饰手段,它不仅可以增加页面的美观度,还能提升用户体验,如何用HTML制作闪烁的星星呢?我将为大家详细介绍制作过程。
我们需要创建一个HTML文件,并在文件中添加以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>闪烁的星星</title>
<style>
body {
margin: 0;
padding: 0;
background-color: black;
}
.star {
position: absolute;
width: 2px;
height: 2px;
background-color: white;
border-radius: 50%;
animation: twinkle 1s infinite ease-in-out;
}
</style>
</head>
<body>
<!-- 以下为星星DOM元素,稍后会通过JavaScript生成 -->
</body>
<script>
// 生成星星
function createStars() {
for (let i = 0; i < 100; i++) {
let star = document.createElement('div');
star.className = 'star';
star.style.left = Math.random() * window.innerWidth + 'px';
star.style.top = Math.random() * window.innerHeight + 'px';
star.style.animationDuration = Math.random() * 3 + 1 + 's'; // 随机动画时长
star.style.animationDelay = Math.random() * 2 + 's'; // 随机动画延迟
document.body.appendChild(star);
}
}
// 调用生成星星函数
createStars();
</script>
</html>
在这段代码中,我们首先设置了页面的背景颜色为黑色,定义了一个名为.star的类,用于设置星星的基本样式,如位置、大小、背景颜色等,以下是详细步骤:
-
星星样式:我们使用
position: absolute;使星星能够自由定位。width和height设置为2px,表示星星的大小。background-color为白色,代表星星的颜色。 -
动画效果:我们为星星添加了一个名为
twinkle的动画效果,动画时长为1秒,无限循环,动画方式为ease-in-out,这里的动画是通过CSS实现的。
下面是CSS动画的关键部分:
@keyframes twinkle {
0%, 100% {
opacity: 0;
}
50% {
opacity: 1;
}
}
这段代码定义了一个关键帧动画twinkle,使星星在0%和100%时透明度为0,在50%时透明度为1,从而实现闪烁效果。
-
JavaScript生成星星:在
<script>标签中,我们定义了一个createStars函数,用于生成100颗星星,每颗星星的位置、动画时长和动画延迟都是随机的,使星星看起来更加自然。 -
调用函数:在页面加载时,我们调用
createStars函数,生成星星并添加到页面中。
通过以上步骤,我们就完成了HTML闪烁星星的制作,这里还可以进行一些扩展,例如添加不同颜色、大小的星星,或者使用其他动画效果等,以下是几点注意事项:
- 确保页面背景颜色与星星颜色对比明显,以便更好地展示闪烁效果。
- 调整星星的大小、数量和动画时长,以达到最佳视觉效果。
- 在实际项目中,可以根据需求对代码进行优化和调整。
就是关于HTML制作闪烁星星的详细过程,希望对大家有所帮助,在网页设计中,充分利用这些技巧,可以让你的页面更加生动有趣。

