javascript – css中渐变的动态着色
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – css中渐变的动态着色,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
![javascript – css中渐变的动态着色](/upload/InfoBanner/zyjiaocheng/809/5d789be5311745bb866783d83efd39ba.jpg)
我有一个带有一些Div元素的cshtml页面.这些div元素使用样式类中指定的渐变着色.我还添加了一个悬停类,它将div颜色稍微变亮,实际上模仿了按钮的效果并将其悬停在它上面. div最终用于包含从MVC控制器接收的文本.
我想做的是在jquery中的一些方法,也许是动态地改变一组div的阴影.我将该设置指定为红色(#FF0000),但该组中的其余div应该更浅.类似于W3颜色选择器的’Shades’块http://www.w3schools.com/tags/ref_colorpicker.asp
这是一个jsfiddle与我或多或少需要做的事情.
https://jsfiddle.net/ezxkf3qL/1/
你会注意到我有两个定义颜色渐变的css类,’red1’和’red2′.如果我在3组中有6个div,则意味着我需要构建18个不同的颜色类及其各自的悬停方法.
理想情况下,我希望每个集合都有一个颜色类和一个悬停方法类.然后jquery将获取颜色并动态更改每个元素的“红色”类的渐变颜色,以便获得与我的示例中相同类型的效果.
我也尝试过这样的事情:
var list = $("div.col").find(".get");
var step = 100;
list.each(function(i, e) {
var shade = i * step;
$(this).css("background-color", "rgb(255, " + shade + "," + shade + ")");
});
这确实改变了阴影,但是有6个元素它有点太亮或者不能区分不同的阴影.这也没有解决我的渐变问题.
同样的原则适用于按钮的颜色或任何其他元素.也许有jquery可以在我不知道的同时解决所有这些问题.任何援助将不胜感激.
解决方法:
我试了一下,这是my fiddle.
我假设你只为’红色'(#ff0000)色调做这个,光谱从红色变为浅红色.上面的小提琴是使用webkit语法,您可以修改代码以满足您的需求.
var base= 0;
var others=0;
var otherbase = 100;
var step= 15;
list.each(function(i, e) {
$(this).css("background", "linear-gradient(to bottom, rgb("+ base +","+others+","+others+") 0%,#FF0000 100%) ");
if(base<60)
base=base+30;
else if(base<200)
base= base + 15;
else{
base= base + 25;
others=otherbase + step;
otherbase=others;
}
});
更新:
我修好了fiddle,你应该可以现在测试一下,对不起.
代码的作用是计算有多少.get div,并应用从黑色到红色到白色的渐变光谱.阴影的方差取决于有多少.get div(越少,差异越大).
对于悬停,我认为你只想减轻悬停的div的阴影.所以我创建了一个只在悬停时出现并充当半透明白色叠加层的伪元素,请参阅下面的CSS代码:
.get:hover:before {
content:"";
width: 100%;
height: 100%;
position: absolute;
background: rgba(255, 255, 255, 0.2);
}
这需要jQuery.
内容总结
以上是互联网集市为您收集整理的javascript – css中渐变的动态着色全部内容,希望文章能够帮你解决javascript – css中渐变的动态着色所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。