利用CSS的@keyframes规则可以定义动画,让小div元素模拟星星。将星星位置设为绝对定位,通过改变其top/bottom属性和透明度,实现闪烁。配合JavaScript的定时器控制动画播放速度和频率。
时间: 2024-11-12 15:40:10 浏览: 3
使用Javascript + html + css实现页面随机出现小星星的动画效果
在HTML和CSS中,你可以使用`@keyframes`规则来制作星星闪烁的动画。首先,创建一个名为“star-flashing”的关键帧动画,例如:
```css
@keyframes star-flashing {
0% { top: 0; opacity: 1; }
50% { top: 20px; opacity: 0.5; }
100% { top: 0; opacity: 1; }
}
```
在这个例子中,动画从开始时星星位于顶部,全透明到半透明,然后再回到顶部,形成闪烁效果。`top`属性控制星星上下移动,“opacity”控制透明度。
接下来,将这个动画应用到一个小的`<div>`元素上,比如星点,同时设置其定位为绝对定位:
```html
<div class="sparkle" style="position: absolute;"></div>
```
然后使用JavaScript控制动画的播放,通过定时器(如`setInterval`)设定周期和频率:
```javascript
const sparkle = document.querySelector('.sparkle');
let intervalId;
function startFlashing(speed) {
clearInterval(intervalId);
intervalId = setInterval(() => {
sparkle.style.animationDuration = speed + 'ms';
sparkle.style.animationIterationCount = 'infinite';
sparkle.classList.add('animated');
}, speed * 2); // 每次闪烁半个周期
}
// 调用函数,传入你想要的闪烁速度
startFlashing(1000 / 60); // 比如每秒闪烁60次
```
这将使得星星按照设定的速度(单位时间内闪烁次数)持续闪烁。记得调整速度参数以适应实际效果。
阅读全文