html5css流星雨划过代码
时间: 2023-07-02 11:15:41 浏览: 107
以下是一个简单的 HTML5 和 CSS 实现流星雨效果的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>流星雨效果</title>
<style>
body {
background-color: #000;
}
.star {
position: absolute;
background-color: #fff;
border-radius: 50%;
opacity: 0.8;
transition: opacity 0.5s ease-out;
}
.meteor {
position: absolute;
background-color: #fff;
opacity: 0.8;
transition: opacity 0.5s ease-out;
}
</style>
</head>
<body>
<script>
// 获取窗口的宽度和高度
var w = window.innerWidth;
var h = window.innerHeight;
// 创建流星雨元素
function createMeteor() {
var meteor = document.createElement("div");
meteor.className = "meteor";
meteor.style.width = "2px";
meteor.style.height = "20px";
meteor.style.left = Math.random() * w + "px";
meteor.style.top = "-20px";
document.body.appendChild(meteor);
// 让流星雨落下
setTimeout(function() {
meteor.style.transform = "rotate(45deg)";
meteor.style.top = h + "px";
meteor.style.opacity = 0;
}, 100);
// 删除流星雨元素
setTimeout(function() {
document.body.removeChild(meteor);
}, 1000);
}
// 创建星星元素
function createStar() {
var star = document.createElement("div");
star.className = "star";
star.style.width = "2px";
star.style.height = "2px";
star.style.left = Math.random() * w + "px";
star.style.top = Math.random() * h + "px";
document.body.appendChild(star);
// 让星星闪烁
setTimeout(function() {
star.style.opacity = 0;
}, Math.random() * 5000);
// 删除星星元素
setTimeout(function() {
document.body.removeChild(star);
}, 10000);
}
// 每隔一段时间创建流星雨和星星
setInterval(function() {
createMeteor();
createStar();
}, 100);
</script>
</body>
</html>
```
实现效果是在黑色背景下,随机生成大小不一的星星和流星雨,星星会闪烁,流星雨会从上往下落下。
阅读全文