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 相关文章推荐
HTML5 CSS3给网站设计带来出色效果
Jul 16 HTML / CSS
css3.0 图形构成实例练习二
Mar 19 HTML / CSS
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
Jun 03 HTML / CSS
详解H5本地储存Web Storage
Jul 03 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
Jan 09 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
Jan 01 HTML / CSS
HTML5之语义标签介绍
Jul 07 HTML / CSS
Html5元素及基本语法详解
Aug 02 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
Mar 31 HTML / CSS
HTML5添加禁止缩放功能
Nov 03 HTML / CSS
如何避免常见的6种HTML5错误用法
Nov 06 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
Nov 29 HTML / CSS
CSS3 制作的悬停缩放特效
Apr 13 #HTML / CSS
CSS3 制作的书本翻页特效
浅谈移动端中的视口(viewport)的具体使用
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
CSS3 制作的彩虹按钮样式
CSS中em的正确打开方式详解
几款流行的HTML5 UI框架比较(小结)
You might like
文件上传的实现
2006/10/09 PHP
php经典算法集锦
2015/11/14 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
浅谈Python 参数与变量
2020/06/20 Python
python如何修改文件时间属性
2021/02/05 Python
英国电信商店:BT Shop
2019/12/17 全球购物
留学推荐信写作指南
2014/01/25 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS