继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用css实现星空效果!

永不放弃666
关注TA
已关注
手记 7
粉丝 2
获赞 132

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>css实现星空效果</title>
<style type="text/css">
html, body {
height: 100%;
overflow: hidden;
}

body {
width: 100%;
height:100%;
background: #000;
background-size: 100%;
perspective: 500px;

}
.stars {
position: absolute;
top: 50%;
left: 50%;
width: 4px;
height:4px;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
animation: fly 2s linear infinite;
transform-style: preserve-3d;
}
.stars:before, .stars:after {
content: "";
position: absolute;
width: inherit;
height: inherit;
box-shadow: inherit;
}
.stars:before {
transform: translateZ(-300px);
opacity: .6;
}
.stars:after {
transform: translateZ(-600px);
opacity: .4;
}

@keyframes fly {
from {
transform: translateZ(0px);
opacity: .6;
}
to {
transform: translateZ(300px);
opacity: 1;
}
}
</style>
</head>
<body>
<div></div>
</body>
<s cript>
var w = document.documentElement.clientWidth1.2;
var h = document.documentElement.clientHeight
1.2;
var star = document.getElementsByClassName("stars")[0];
var n = 1000;
//随机函数
function randomNum(m, n) {
return Math.floor(Math.random() * (n - m + 1) + m);
}
var str = '';
for (var i = 0; i < n; i++) {
var numX = randomNum(-w, w);
var numY = randomNum(-h, h);
var color = 'rgb(' + randomNum(0, 255) + ',' + randomNum(0, 255) + ',' + randomNum(0, 255) + ')';
str += numX +'px'+' ' + numY+'px'+' '+ color+',';
}
str = str.slice(0,-1);
star.style.boxShadow = str;
</s cript>
</html>

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

代码直接copy到webstorm运行document.documentElement.clientWidth/clientHeight显示method expression is not of function type。。 另外后面加1.2会报错…不加的话方法不能用但是能正常运行,显示不出星空。。 求正确的姿势QAQ

查看全部评论