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滤镜及在图片与边框改色方面的应用 - 技术日志 - 手册与笔记 - 易网

相关推荐
Rust语言中文社区1 分钟前
【Rust日报】Clone:像进程一样 fork 虚拟机的 Rust KVM VMM
开发语言·后端·rust
求知也求真佳5 分钟前
S02|工具使用:让 Agent 真正会干活,添加工具
开发语言·agent
Dwzun8 分钟前
基于Java+SpringBoot+Vue的校园二手物品置换系统设计与实现【附源码+文档+部署视频+讲解】
java·开发语言·spring boot
charlie11451419114 分钟前
嵌入式Linux驱动开发(3)——内核模块机制 - Linux 的插件系统
linux·运维·开发语言·驱动开发·嵌入式硬件·学习
|晴 天|18 分钟前
Vue 3 实战:打造可拖拽歌词、播放列表的嵌入式音乐播放器
前端·javascript·vue.js
Liu.77421 分钟前
Vue 3 开发中遇到的报错(2)
前端·javascript·vue.js
C、空白格26 分钟前
Java集成Vosk实现离线语音识别
java·开发语言·语音识别
编码浪子35 分钟前
基于 Rust + Axum 的企业级权限管理系统设计与实现
开发语言·后端·rust
历程里程碑37 分钟前
MySQL事务深度解析:ACID到MVCC实战+万字长文解析
开发语言·数据结构·数据库·c++·sql·mysql·排序算法
jerrywus38 分钟前
把 Obsidian 知识库接进 Claude Code:400 行代码实现 AI 长期记忆
前端·agent·claude