纯CSS 实现 img 图片换色

svg 图片可以直接用 color来进行换色,但是像 png 这样的图片却不可以通过 color 来换色,而在日常开发过程中通常会遇到设计那边要求图片在 hover 时换色,那么怎么利用 CSS 来完成这个效果呢。

css 复制代码
// 这里使用的是less嵌套规则
 &:hover {
   img {
     transform: translateY(-200px);
     filter: drop-shadow(#ffd283 0 200px);
   }
}

这里主要使用 filtertransform来完成这个效果,drop-shadow第一个参数是hover时的颜色,后两个参数分别是 X、Y 轴的偏移量。这里的原理就是让原本的 img 偏移处用户视图区域(偏移值可以更改),然后让新的图片偏移到原img的位置。

相关推荐
雪芽蓝域zzs5 分钟前
Vue3 + Vite本地模拟数据(读取 JSON 数据)
前端
亿元程序员7 分钟前
还有高手?用Shader让图片中的3D圆环转起来!
前端
灯澜忆梦9 分钟前
【基于GO的Web开发14】gin请求重定向
前端·后端·golang·gin
qq_4523962310 分钟前
第十一篇:《前端性能优化体系:从加载到交互的全链路》
前端·性能优化·交互
Mh13 分钟前
听说我兄弟喜欢跑车,所以必须安排上
前端·javascript·vue.js
zttbee14 分钟前
vue学习(白话功能版)
前端·vue.js·学习·前端框架
qq_4260039615 分钟前
多语言新增语种全量测试策略
前端·javascript·python·pycharm·自动化
nicole bai23 分钟前
前端封装el-table及注意点
前端·javascript·vue.js
晨枫阳33 分钟前
Vue 前端构建工具链完全理解指南
前端·javascript·vue.js
言乐634 分钟前
Python关于老游复刻与创新2
前端·javascript·css·python·css3