纯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的位置。

相关推荐
the局外人7 小时前
一座不够大的城市,装下了我毕业后的成长
前端·程序员·求职
涛涛ing7 小时前
周下载量1.1亿的Tailwind,为什么养不活自己?
前端
变与不变8067 小时前
JS事件机制精讲
前端·javascript
装备研究社7 小时前
Promise 的五个状态,90% 的人只说对了三个
前端
小聪7088 小时前
elpis-core 抽离 npm 包过程的难点和卡点
前端·架构
钱栈up8 小时前
坯料管理导入功能bug修复:只改前端一个文件就解决问题
前端·bug
石小石Orz9 小时前
民间AI排行榜单新鲜出炉,Fable 5.1仅排第三
前端·后端·ai编程
FYKJ_20109 小时前
【毕设分享】基于Web的校园兼职信息发布与申请系统07059
前端·vue.js·spring boot·mysql·typescript·spark·课程设计
志尊宝10 小时前
Vue3 零基础每日笔记(032):Suspense 与异步组件——懒加载与顶层 await 终极方案
前端·javascript·vue.js·笔记·html5
Peter-Code10 小时前
微前端避坑指南:主应用与子应用的高度及滚动条协调
css·前端框架·微前端