css3实现背景图片颜色修改的多种方式


Posted in HTML / CSS onApril 13, 2021

css3可以改变图片的颜色了。从此再也不用设计出多张图,而且随时可以修改。下面就简单介绍下css3中是如何做到改变背景图片的颜色效果的。

方式一:利用css3滤镜filter中的 drop-shadow

代码如下:

<style>
.icon{
    display: inline-block;
    width: 180px;
    height: 180px;
    background: url('img/XXX.png') no-repeat center  cover;
    overflow: hidden;
}
.icon:after{
    content: '';
    display: block;
    height: 100%;
    transform: translateX(-100%);
    background: inherit;
    filter: drop-shadow(144px 0 0 #fff); //需要修改的颜色值
}
</style>
 
<i class="icon"></i>

说明:

drop-shadow 滤镜可以给元素或图片非透明区域添加投影

将背景透明的 PNG 图标施加一个不带模糊的投影,就等同于生成了另外一个颜色的图标

再通过 overflow:hidden 和位移处理将原图标隐藏

mix-blend-mode 取值情况:【除了最后3个,大体和ps效果一样】

mix-blend-mode: normal; // 正常
mix-blend-mode: multiply; // 正片叠底
mix-blend-mode: screen; // 滤色
mix-blend-mode: overlay; // 叠加
mix-blend-mode: darken; // 变暗
mix-blend-mode: lighten; // 变亮
mix-blend-mode: color-dodge; // 颜色减淡
mix-blend-mode: color-burn; // 颜色加深
mix-blend-mode: hard-light; // 强光
mix-blend-mode: soft-light; // 柔光
mix-blend-mode: difference; // 差值
mix-blend-mode: exclusion; // 排除
mix-blend-mode: hue; // 色相
mix-blend-mode: saturation; // 饱和度
mix-blend-mode: color; // 颜色
mix-blend-mode: luminosity; // 亮度
mix-blend-mode: initial; // 默认
mix-blend-mode: inherit; // 继承
mix-blend-mode: unset; // 还原

方式二:利用css3的mix-blend-mode 和 background-blend-mode

代码如下:

<style>
.icon{
    display: inline-block;
    width: 180px;
    height: 180px;
    background-image: url($'img/XXX.png'), linear-gradient(#f00, #f00);
    background-blend-mode: lighten;
    background-size: cover;
}
</style>
<i class="icon"></i>

说明:

lighten这个混合模式:变亮、变亮模式与变暗模式产生的效果相反,黑色比任何颜色都要暗,所以黑色会被任何色替换掉。反之,如果素材的底色是黑色,主色是白色。那就应该用变暗(darken)的混合模式  。

linear-gradient(#f00,  #00f )还可以实现渐变颜色的效果哦。 

总结:

方式一局限于png格式的图片,方式二不限制图片的格式。

css3具有一定的兼容性。chrome、Firefo、移动端较为适合使用。

到此这篇关于css3实现背景图片颜色修改的多种方式的文章就介绍到这了,更多相关css3背景图片颜色修改内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3 渐变(Gradients)之CSS3 线性渐变
Jul 08 HTML / CSS
CSS3实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
45个非常奇妙的CSS3 特性应用示例
Jan 01 HTML / CSS
纯css3实现的动画按钮的实例教程
Nov 17 HTML / CSS
CSS3 :not()选择器实现最后一行li去除某种css样式
Oct 19 HTML / CSS
CSS3制作圆形滚动进度条动画的示例
Nov 05 HTML / CSS
自定义html标记替换html5新增元素
Oct 17 HTML / CSS
HTML5 声明兼容IE的写法
May 16 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
Aug 02 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
May 08 HTML / CSS
在HTML中引入CSS的几种方式介绍
Dec 06 HTML / CSS
DIV CSS实现网页背景半透明效果
Dec 06 HTML / CSS
CSS3 制作的悬停缩放特效
Apr 13 #HTML / CSS
CSS3 制作的书本翻页特效
浅谈移动端中的视口(viewport)的具体使用
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
CSS3 制作的彩虹按钮样式
CSS中em的正确打开方式详解
几款流行的HTML5 UI框架比较(小结)
You might like
深入了解php4(1)--回到未来
2006/10/09 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
js渐变显示渐变消失示例代码
2013/08/01 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python实现二分查找算法实例
2015/05/26 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python读写csv文件的方法
2019/08/13 Python
Python 实现自动导入缺失的库
2019/10/29 Python
python flask中动态URL规则详解
2019/11/22 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
社区工作者思想汇报
2014/01/13 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
工商行政处罚决定书
2015/06/24 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
python入门学习关于for else的特殊特性讲解
2021/11/20 Python
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL