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中的选择符
Oct 17 HTML / CSS
CSS3媒体查询(Media Queries)介绍
Sep 12 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS3+JavaScript实现炫酷呼吸效果的示例代码
Jun 15 HTML / CSS
html5新特性与用法大全
Sep 13 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
Jan 26 HTML / CSS
HTML5验证以及日期显示的实现详解
Jul 05 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
Html5百叶窗效果的示例代码
Dec 11 HTML / CSS
canvas简单连线动画的实现代码
Feb 04 HTML / CSS
详解如何使用rem或viewport进行移动端适配
Aug 14 HTML / CSS
css3实现的加载动画效果
Apr 07 HTML / CSS
CSS3 制作的悬停缩放特效
Apr 13 #HTML / CSS
CSS3 制作的书本翻页特效
浅谈移动端中的视口(viewport)的具体使用
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
CSS3 制作的彩虹按钮样式
CSS中em的正确打开方式详解
几款流行的HTML5 UI框架比较(小结)
You might like
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
PHP数组相关函数汇总
2015/03/24 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
JavaScript版代码高亮
2006/06/26 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
python实现人人网登录示例分享
2014/01/19 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Python如何操作docker redis过程解析
2020/08/10 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
幼儿师范毕业生自荐信
2013/11/09 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2015年体育部工作总结
2015/04/02 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android