通过css3的filter滤镜改变png图片的颜色的示例代码


Posted in HTML / CSS onMay 06, 2020

本方法是通过CSS3滤镜 filter 中的 drop-shadow 将png图片的非透明部分生成任意颜色的投影,然后将原始图片隐藏起来,从而达到改变图片颜色的目的
先看效果图

通过css3的filter滤镜改变png图片的颜色的示例代码

接下来是代码

<p><strong>原始图标</strong></p>
<i class="icon icon-del"></i>
<p><strong>可以变色的图标</strong></p>
<i class="icon"><i class="icon icon-del"></i></i>

 

.icon {
    display: inline-block;
    width: 20px; height: 20px;
    overflow: hidden;
}
.icon-del {
    background: url(delete.png) no-repeat center;
}
.icon > .icon {
    position: relative;
    left: -20px;
    border-right: 20px solid transparent;
    -webkit-filter: drop-shadow(#0033FF 20px 0);
    filter: drop-shadow(#0033FF 20px 0);
}

注意其中很关键的一处

border-right: 20px solid transparent;

在Chrome浏览器下,如果一个元素的主体部分,无论以何种方式,只要在页面中不可见,其drop-shadow是不可见的;实体部分哪怕有1像素可见,则drop-shadow完全可见。

由于我们使用使用 overflow:hidden 隐藏掉了原始图标,所以导致其投影在Chrome浏览器上是无法正常显示的,我们通过加透明的边框来解决这一点。

总结

到此这篇关于通过css3的filter滤镜改变png图片的颜色的文章就介绍到这了,更多相关CSS改变png图片颜色内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
image-set实现Retina屏幕下图片显示详细介绍
Dec 24 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3中的clip-path使用攻略
Aug 03 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
css3 实现滚动条美化效果的实例代码
Jan 06 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
HTML5 History API 实现无刷新跳转
Jan 11 HTML / CSS
字中字效果的实现【html5实例】
May 03 HTML / CSS
使用phonegap播放音频的实现方法
Mar 31 HTML / CSS
浅谈html5 video 移动端填坑记
Jan 15 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
Apr 17 HTML / CSS
基于ccs3的timeline时间线实现方法
Apr 30 #HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
Apr 28 #HTML / CSS
深入浅析CSS3中的Flex布局整理
Apr 27 #HTML / CSS
纯CSS3实现移动端展开和收起效果的示例代码
Apr 26 #HTML / CSS
CSS实现聊天气泡效果
Apr 26 #HTML / CSS
css3 实现元素弧线运动的示例代码
Apr 24 #HTML / CSS
css3中less实现文字长阴影(long shadow)
Apr 24 #HTML / CSS
You might like
PHP错误处理函数
2016/04/03 PHP
js对象关系图 方便dom操作
2012/03/18 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
Python使用turtule画五角星的方法
2015/07/09 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
详解Python yaml模块
2020/09/23 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
英文自荐信
2013/12/19 职场文书
财务情况说明书范文
2014/05/06 职场文书
标准毕业生自荐信
2014/06/24 职场文书
异地恋情人节寄语
2015/02/28 职场文书
同事离别感言
2015/08/04 职场文书
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android