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

相关推荐
LCG元13 小时前
STM32实战:基于STM32F103的智慧教室环境监控系统(CO₂+光照+人数统计)
前端·stm32·嵌入式硬件
yqcoder14 小时前
Vue 的心脏:深度解析 Vue 2 vs Vue 3 响应式机制
前端·javascript·vue.js
东方小月14 小时前
Claude Code Skill 完全指南:一个 markdown 文件,就是一个专家分身
前端·后端
DianSan_ERP14 小时前
抖店订单接口中消费者信息加密解密机制与安全履约全解析
前端·网络·数据库·后端·安全·团队开发·运维开发
PBitW14 小时前
一个skill,让项目管理和写绩效变得简单!
前端·trae
Dxy123931021614 小时前
CSS中的filter属性详解
前端·css
Vincent_czr15 小时前
iOS中常常遇到后端返回JSON出现null值问题
前端
问心无愧051315 小时前
ctf show web入门90
前端·笔记
yingyima15 小时前
午夜惊魂:用 Shell 脚本和 Hey Cron 解决服务器定时报警
前端
青山Coding15 小时前
Cesium应用(五):通视分析,解锁三维场景的”无遮挡“视野
前端·cesium