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

相关推荐
是上好佳佳佳呀3 分钟前
【前端(七)】CSS3 核心属性笔记:单位、背景、盒子模型与文本换行
前端·笔记·css3
踩着两条虫32 分钟前
VTJ:技术架构概述
前端·架构·ai编程
超级无敌攻城狮35 分钟前
Agent 到底是怎么跑起来的
前端·后端·架构
吴声子夜歌42 分钟前
Vue3——过度和动画效果
前端·vue.js·es6
Via_Neo43 分钟前
字符串类型的相互转换
前端
zopple1 小时前
前端三剑客 vs Vue.js:核心区别解析
前端·javascript·vue.js
hsjcjh1 小时前
窗口函数-详细讲解分析
java·服务器·前端
CDN3601 小时前
【踩坑实录】前端开发必看:一次由CSS缓存引发的线上事故与SEO反思
前端·css·缓存
胡志辉的博客1 小时前
本地明明好好的,怎么一上线就跨域了?把同源策略、前后端分工和 CORS 一次讲明白
前端·javascript·vue.js·reactjs·nextjs·跨域
|晴 天|1 小时前
文章系列管理系统:拖拽排序与进度追踪
前端·vue.js·typescript