前端自制渐变色

该博客介绍了一个使用HTML、CSS和JavaScript实现的在线颜色渐变生成器。用户可以选取三个颜色并调整角度,实时预览和修改线性渐变效果。同时,博客提供了详细的代码示例,解释了如何通过监听颜色选择器和滑动条的变动来更新页面背景色。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>自制渐变色</title>
		<style type="text/css">
			 #div {
				width:100%;
				height:500px;
				border:1px solid red;
			}
			
			#c41{
				display: inline-block;
				color: red;
				width: 10px;
				height: 10px;
			}
		</style>
		
	</head>
	<body>
		<input type="color" id="c1" value="#051d33">
		<input type="color" id="c2" value="#331e0a">
		<input type="color" id="c3" value="#88135b">
		<!-- range是滚动条数值。是input的一种 -->
		<input type="range" id="c4" min="0" max="360" /><div id="c41"></div><div id="warring" style="color: red;">选择三个颜色即可生成渐变色,拖动右边的数值条即可旋转图像,旋转单位为度</div>
		<div id="div"></div>
		<div id="result" style="width: 500px;height: 50px; color: red;"></div>
		<script type="text/javascript">
			// 定义三种颜色的初始值
			var value1 = '#051d33' ;
			var value2 = '#331e0a' ;
			var value3 = '#88135b' ;
			var result = document.getElementById("result");
			//获取
			var range = document.getElementById("c4");
			
			
			
			// 方法一
			
			// onchange方法就是说,input这种输入呀,或者滚动条,日历,颜色选择等等这类,选择或者输入后都会改变(change),所以这个onchange方法就是改变后就会触发
			
			//滚动条的数值改变时触发的函数--也就是要改变颜色啦
			range.onchange = function() {
				//给滚动条旁边显示一下滚动条的数值,不然都不知道多少度
				c41.innerText = range.value ;
				//执行设置颜色函数。
				setColor1(value1, value2 , value3);
				//给底下那个div里写入这个颜色的具体value值。方便使用
				result.innerText = "当前颜色为:" + "linear-gradient(" + range.value + "deg," + value1 + "," + value2 + "," + value3 + ")";	
			}
			
			
			//方法二
			
			//这个方法就是第一个改变颜色的那个input改变时触发的函数。也当然是改变了底下的大框就要改变颜色呀。然后最底下也需要显示这个颜色的值
			document.getElementById("c1").onchange = function() {
				//咱们需要value值来改变颜色,所以第一个颜色选择器选择后就获取一下c1的value值
				//this是这个函数的input对象。也就是document.getElementById("c1")。
			    value1 = this.value;
				//同样选择了第一个颜色后就调用设置颜色的方法来设置颜色
				setColor(value1, value2 , value3);
				//输入颜色信息
				result.innerText = "当前颜色为:" + "linear-gradient(to right," + value1 + "," + value2 + "," + value3 + ")";
			}
			//同c1
			document.getElementById('c2').onchange = function() {
			    value2 = this.value;
			    setColor(value1, value2 , value3);
				result.innerText = "当前颜色为:" + "linear-gradient(to right," + value1 + "," + value2 + "," + value3 + ")";
			};
			//同c3
			document.getElementById('c3').onchange = function() {
			    value3 = this.value;
			    setColor(value1, value2 , value3);
				result.innerText = "当前颜色为:" + "linear-gradient(to right," + value1 + "," + value2 + "," + value3 + ")";	
			};
			
			
			//方法3
			
			//设置颜色的方法来了,也就是每一个操作都会触发的方法.其实很简单,就是获取目标DIV的元素
			//然后用.style.a="b";来设置style样式.a是需要设置的属性,后边b是CSS样式代码
			function setColor(value1,value2,value3) {
				//获取div那个大框
			    var bg = document.getElementById("div");
				// 然后给它设置颜色即可,用的是"linear-gradient()"渐变色。
				bg.style.background = "linear-gradient(to right," + value1 + "," + value2 + "," + value3 + ")"
			}
			//这个和那个一样的,只不过三个input颜色选择器选择的是to right从左到右的线行渐变色,而这个是Xdeg,x就是角度了,旋转的,颜色的value值一样的
			function setColor1(value1,value2,value3) {
			    var bg = document.getElementById("div");
				bg.style.background = "linear-gradient(" + range.value + "deg," + value1 + "," + value2 + "," + value3 + ")"
			}
			setColor(value1, value2 , value3);
		</script>
	</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屿凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值