css3的filter图片滤镜使用

业务介绍

默认:第一个图标为选中状态,其他三个图标事未选中状态

样式:选中状态是深蓝,未选中状体是浅蓝

交互:鼠标放上去选中,其他未选中,鼠标离开时候保持当前选中状态

实现:目前只有一下四个图标,需要用css3的滤镜实现

代码实现

复制代码
//变深的滤镜
.itemHover1 {
  filter: hue-rotate(385deg) saturate(20);
}

//变浅的滤镜
.itemHover2 {
  filter: hue-rotate(6deg) saturate(1.5) opacity: 0.5;
}

const tabMouseOver = (index: any) => {
  setactiveIndex(index);
};

{tabItems.map((item, index) => (
  <div
    key={index}
    onMouseOver={() => {      
      tabMouseOver(index);
    }}

    className={classnames(styles.tabItem)}
    >
    <div className={styles.iconBox}>
      <img
        className={classnames({
          [styles.itemHover2]: activeIndex !== index && index == 0,
          [styles.itemHover1]: activeIndex === index && index !== 0,
        })}
        src={item.iconUrl}
        />
    </div>
  </div>
))}

深度解读css中filter滤镜及在图片与边框改色方面的应用 - 技术日志 - 手册与笔记 - 易网

相关推荐
码云骑士1 分钟前
语音合成演示 - Web Speech API
前端
ZC跨境爬虫2 分钟前
跟着 MDN 学CSS day_50:(传统布局方法与网格系统)
前端·css·ui·tensorflow·媒体
想你依然心痛2 分钟前
Isaac Sim vs MuJoCo vs PyBullet:机器人仿真器选型终极指南(2026版)
java·开发语言·机器人
一个儒雅随和的男子3 分钟前
MQTT如何保证消息的可靠性
java·开发语言
薛先生_0995 分钟前
vue-路由模块封装
前端·javascript·vue.js
薛先生_0996 分钟前
vue-router-link实现导航高亮效果
前端·javascript·vue.js
郑州光合科技余经理7 分钟前
海外版外卖系统源码:支付/地图/多语言核心代码实现
android·java·前端·后端·架构·uni-app·php
再玩一会儿看代码9 分钟前
Java浅拷贝和深拷贝理解笔记
java·linux·开发语言·笔记·python·学习
爱吃羊的老虎17 分钟前
【JAVA】Java微服务—分布式事务框架Seata
java·开发语言
古韵19 分钟前
TanStack Query 被高估了?这 5 个场景它真不如 alova
前端