通过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 相关文章推荐
css3 按钮样式简单可扩展创建
Mar 18 HTML / CSS
CSS3哪些新特性值得称赞
Mar 02 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
Dec 13 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
Jan 30 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
Dec 31 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 HTML / CSS
HTML5不支持frameset的两种解决方法
Nov 14 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 HTML / CSS
AmazeUI 等分网格的实现示例
Aug 25 HTML / CSS
使用CSS3实现按钮悬停闪烁动态特效代码
Aug 30 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设计模式中工厂模式详细介绍
2013/05/15 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
python交互式图形编程实例(三)
2017/11/17 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
基于python指定包的安装路径方法
2018/10/27 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
优秀党员先进材料
2014/12/18 职场文书
2015年党员承诺书
2015/01/21 职场文书
刑事附带民事起诉状
2015/05/19 职场文书