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

相关推荐
JarvanMo10 小时前
Flutter:如何更改默认字体
前端
默海笑10 小时前
VUE后台管理系统:定制化、高可用前台样式处理方案
前端·javascript·vue.js
YaeZed11 小时前
Vue3-toRef、toRefs、toRaw
前端·vue.js
用户66006766853911 小时前
CSS定位全解析:从static到sticky,彻底搞懂布局核心
前端·css
听风说图11 小时前
Figma Vector Networks: 形状、填充及描边
前端
hanliu200311 小时前
实训11 ,百度评分
前端
Y***K43411 小时前
TypeScript模块解析
前端·javascript·typescript
JarvanMo11 小时前
Xcode 没人想解决的问题:为什么苹果对平庸感到满意
前端
合作小小程序员小小店11 小时前
web网页开发,在线%餐饮点餐%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·数据库·html·intellij-idea·springboot
鹏多多11 小时前
HTML的Video从基础使用到高级实战+兼容的完全指南
前端·javascript·vue.js