CSS改变png图片颜色

时间:2022-02-12 05:46:47

来源地址:http://www.zhangxinxu.com/wordpress/?p=5429

张鑫旭大神的个人网站上看到的,纯属分享和记录

css

div.icon{height:20px;width:20px;overflow: hidden;}
.icon .icon{width: 20px;height: 20px;display:block;position: relative;left: -20px;border-right: 20px solid transparent;
background: url(img/icon.png) no-repeat;-webkit-filter: drop-shadow(# 20px );filter: drop-shadow(# 20px );
}

html

<div class="icon">
<span class='icon' id='icon'></span>
</div>
<input type="color" id='color' />

JS

document.getElementById('color').onchange = function(){
var c = this.value;
document.getElementById('icon').style.webkitFilter = 'drop-shadow('+c+' 20px 0)';
}

在谷歌、火狐手机端、都是可以用的,使用的技术是css 里滤镜里的投影,具体看原文

代码地址