JS特效 # 星空背景

本文展示了如何使用JavaScript创建一个动态的星空背景效果,通过代码实现星星闪烁和移动,为网页增添视觉吸引力。
摘要由CSDN通过智能技术生成

demo:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>太空</title>
	<style>
		body{
			width: 100%;
			height: 1000px;
			background: linear-gradient(to bottom right, #000, #2073c2 60%, #dff6ff);
			overflow: hidden;
		}
		span{
			display: block;
			position: absolute;
			border-radius: 50%;
			box-shadow: 0.4px 0.4px 0.4px 0px #fff;
		}
	</style>
</head>
<body>
 
<script>
	window.onload = function(){
		var screenW = document.documentElement.clientWidth;
		var screenH = document.documentElement.clientHeight;
		var colorArr = ['#fff','skyblue','orange'];
		console.log(screenW);
		for( var i=0; i<800; i++ ){
			var span = document.createElement('span');
			var width = Math.random() * 3;
			var colorIndex = parseInt(Math.random() * 3);
			var x = parseInt(Math.random() * screenW);
			var y = parseInt(Math.random() * screenH);
			span.style.width = parseInt(width) + 'px';
			span.style.height = parseInt(width) + 'px';
			span.style.background = colorArr[colorIndex];
			span.style.left = x + 'px';
			span.style.top = y + 'px';
 
			document.body.appendChild(span);
		}
	}
</script>
 
</body>
</html>
可以利用CSS3和JavaScript实现一个星空背景特效,具体步骤如下: 1. 创建一个HTML文件,引入CSS和JavaScript文件。 2. 在HTML文件中,创建一个div元素作为背景容器,并设置其宽度和高度为100%。 3. 在CSS文件中,设置背景容器的背景颜色为黑色,并设置其position属性为fixed,使其固定在页面中。 4. 利用JavaScript,在背景容器中创建一定数量的星星元素。可以使用for循环来动态创建元素,利用Math.random()函数来随机生成星星的位置、大小和亮度等属性。 5. 在CSS文件中,设置星星元素的样式,包括其大小、颜色、位置、动画效果等。 6. 利用JavaScript,使星星元素动起来。可以使用setInterval()函数来设置定时器,每隔一定时间改变星星的位置和亮度,从而实现动态效果。 下面是一个简单的示例代码,可以根据需要进行修改和优化: HTML文件: ``` <!DOCTYPE html> <html> <head> <title>星空背景特效</title> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="script.js"></script> </head> <body> <div id="background"></div> <div class="content"> <h1>欢迎来到星空世界!</h1> <p>这里有美丽的星空和神秘的星系等待你的探索。</p> </div> </body> </html> ``` CSS文件: ``` #background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: black; } .star { position: absolute; top: 0; left: 0; width: 1px; height: 1px; background-color: white; border-radius: 50%; animation: twinkle 1s infinite; } @keyframes twinkle { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } ``` JavaScript文件: ``` var background = document.getElementById("background"); for (var i = 0; i < 50; i++) { var star = document.createElement("div"); star.className = "star"; star.style.top = Math.random() * 100 + "%"; star.style.left = Math.random() * 100 + "%"; star.style.width = Math.random() * 3 + "px"; star.style.height = star.style.width; star.style.opacity = Math.random() * 0.5 + 0.5; background.appendChild(star); } setInterval(function() { var stars = background.getElementsByClassName("star"); for (var i = 0; i < stars.length; i++) { stars[i].style.top = Math.random() * 100 + "%"; stars[i].style.left = Math.random() * 100 + "%"; stars[i].style.opacity = Math.random() * 0.5 + 0.5; } }, 1000); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值