线性渐变—发廊灯/扫描灯

学习线性渐变时敲的两个效果

1. 发廊灯

效果图

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style>
		*{
			padding: 0;margin: 0;
		}
		html,body{
			height: 100%;
			overflow: hidden;
		}
		#wrap{
			width: 40px;
			height: 300px;
			border: 1px solid #000;
			margin: 100px auto;
			overflow: hidden;
		}
		#wrap > .inner{
			
			height: 600px;
			background: repeating-linear-gradient(135deg,black 0px, black 10px, white 10px, white 20px);
		}
/*		#wrap:hover .inner{
			margin-top: -300px
		}*/
	</style>
</head>
<body>
	<div id="wrap">
		<div class="inner"></div>
	</div>
	<script>
		var inner =  document.getElementsByClassName('inner')[0]
		console.log(inner)
		var flag = 0
		
		var test = function(){

			if(flag === 280){
				flag = 0
			}
			flag++
			inner.style.marginTop = -flag + 'px'
		}
		setInterval(test,1000/60)
	</script>
</body>
</html>

2. 扫描灯(光斑效果)

光斑效果

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style>
		*{
			padding: 0;margin: 0;
		}
		html,body{
			height: 100%;
			overflow: hidden;
			background: #000;
			text-align: center;
		}
		h1{
			/*transition:3s;*/
			margin-top: 50px;
			display: inline-block;
			color:rgba(255, 255, 255, .3);
			font: bold 80px '微软雅黑';
			background:linear-gradient(150deg,rgba(255, 255, 255, 0) 80px,rgba(255, 255, 255, 1) 120px ,rgba(255, 255, 255, 0) 160px);
			background-repeat: no-repeat;
			-webkit-background-clip:text;
		}	

/*		h1:hover{
			background-position: 500px 0;
		}	*/
	</style>
</head>
<body>
	<h1>这是一个CSS3线性渐变的测试</h1>
	<script>
		var h1 =  document.getElementsByTagName('h1')[0]
		var len = h1.style.width
		console.log(len)
		var flag = -180
		var test = function(){

			if(flag > 920){
				flag = -180
			}
			flag+=6
			h1.style.backgroundPosition = flag + 'px'
			// console.log(h1.style.backgroundPosition)
		}
		setInterval(test,1000/60)
	</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_42729761/article/details/89213981