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

相关推荐
skywalk81639 分钟前
Kotti Next的tinyfrontend前端模仿Kotti 首页布局还是不太好看,感觉比Kotti差一点
前端
RopenYuan2 小时前
FastAPI -API Router的应用
前端·网络·python
走粥2 小时前
clsx和twMerge解决CSS类名冲突问题
前端·css
Purgatory0013 小时前
layui select重新渲染
前端·layui
weixin199701080163 小时前
《中国供应商商品详情页前端性能优化实战》
前端·性能优化
赵孝正5 小时前
学习的本质是一个工程闭环:从模仿到内化的四阶段方法论(附风电实战案例)
前端·数据库·学习
Panzer_Jack7 小时前
easy-live2d v0.4.0 — 全面进化的 Live2D Web 开发体验
前端
软弹7 小时前
输入URL之后,都发生了什么
前端