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

相关推荐
心连欣5 小时前
从静态页面到动态交互:DOM操作的核心API解析
前端·javascript·api
橙某人5 小时前
SSR页面上的按钮点不了?Nuxt 懒加载水合揭秘💧
前端·vue.js·nuxt.js
PursuitofHappiness5 小时前
2 tree-cli 的使用方法
前端
不做超级小白5 小时前
把图片压小,但不糊:reduceUrImgs项目关键点拆解
前端·开源·node.js
耀耀切克闹灬5 小时前
Eruda 移动端调试工具使用指南
前端
王二端茶倒水5 小时前
现在AI Agent 已经能够代替程序员的工作了,作为一个程序员的我该如何规划以后的职业,请认真思考后给我最靠谱可行的建议。
前端·后端·面试
CyrusCJA5 小时前
毛玻璃效果
前端·css·css3
光影少年5 小时前
Monorepo架构是什么,如何学习Monorepo架构?
前端·学习·架构·前端框架
yuandiv5 小时前
让 Playwright 测试管理更优雅的利器
前端
拉拉肥_King5 小时前
Ant Design Vue a-image 图片预览充满全屏?为啥?
前端