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

相关推荐
chilavert3182 分钟前
技术演进中的开发沉思-279 AJax :Rich Text Editor(下)
前端·javascript·ajax
玄同76510 分钟前
面向对象编程 vs 其他编程范式:LLM 开发该选哪种?
大数据·开发语言·前端·人工智能·python·自然语言处理·知识图谱
天呐草莓21 分钟前
部署 Vue 项目到阿里云云服务器
服务器·前端·vue.js
276695829224 分钟前
京东最新滑块 分析
linux·前端·javascript·h5st·京东滑块·京东m端滑块·京东逆向
加洛斯24 分钟前
Pinia入门指南:三步上手,搞定状态管理
前端·vue.js
前端西瓜哥28 分钟前
图形编辑器:类 Figma 所见即所得文本编辑(2)
前端
拖拉斯旋风28 分钟前
🧠 `useRef`:React 中“默默记住状态却不打扰 UI”的利器
前端·javascript·react.js
用户6803257543229 分钟前
vue 上传文件到 OSS
前端
明月_清风30 分钟前
GSAP + ScrollTrigger 实现滚动驱动动画详解
前端