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

相关推荐
笑醉踏歌行1 小时前
NVM 在安装老版本 Node环境时,无法安装 NPM的问题
前端·npm·node.js
YUJIANYUE1 小时前
Gemini一次成型龙跟随鼠标html5+canvas特效
前端·计算机外设·html5
abiao19811 小时前
npm WARN ERESOLVE overriding peer dependency
前端·npm·node.js
TechExplorer3651 小时前
禁用 npm 更新检查
前端·npm·node.js
行云流水6264 小时前
uniapp pinia实现数据持久化插件
前端·javascript·uni-app
zhangyao9403304 小时前
uniapp动态修改 顶部导航栏标题和右侧按钮权限显示隐藏
前端·javascript·uni-app
福尔摩斯张6 小时前
Axios源码深度解析:前端请求库设计精髓
c语言·开发语言·前端·数据结构·游戏·排序算法
李牧九丶7 小时前
从零学算法1334
前端·算法
周周爱喝粥呀7 小时前
UI设计原则和Nielsen 的 10 条可用性原则
前端·ui
小云朵爱编程7 小时前
Vue项目Iconify的使用以及自定义图标,封装图标选择器
前端·javascript·vue.js