react-inlinesvg如何动态的修改颜色SVG

这里我想修改颜色

css 复制代码
 .icon {
    fill: #ff4d4f; /* 修改填充颜色 */
    color: red; /* 此时SVG的fill会继承color的值 */
  }
javascript 复制代码
import styles from './index.module.scss'
import SVG from 'react-inlinesvg'
import classNames from 'classnames'

const Header = () => {
  const siderbarArr = [
    {
      name: '海报模版',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
    {
      name: '创建设计',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
    {
      name: 'line',
    },
    {
      name: '我的资源',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
  ]
  return (
    <div className={styles.main}>
      {siderbarArr.map(item =>
        item.name !== 'line' ? (
          <div className={classNames(styles.item, styles.active)}>
            <SVG className={styles.icon} src={item.icon || ''} />
            {item.name}
          </div>
        ) : (
          <div className={styles.line}></div>
        )
      )}
    </div>
  )
}

export default Header

这样都是无效的

如何解决该问题呢?

javascript 复制代码
    filter: invert(14%) sepia(97%) saturate(7483%) hue-rotate(0deg) brightness(91%) contrast(119%);

使用filter颜色滤镜

如何快速生成任意颜色的滤镜值

你可以使用这个在线工具生成对应颜色的滤镜代码:
CSS Filter Generator (codepen.io)

在这里面操作即可

相关推荐
anOnion24 分钟前
构建无障碍组件之Menu Button pattern
前端·html·交互设计
用户479492835691541 分钟前
claude Fable用不了?把Gpt 5.5pro接到你的claude code里
前端·后端
zhangxingchao3 小时前
Kotlin常用的Flow 操作符整理
前端
IT_陈寒5 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic6 小时前
SwiftUI 手势笔记
前端·后端
橙子家6 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user20585561518136 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州7 小时前
CSS aspect-ratio 属性完全指南
前端
怕浪猫7 小时前
哪些软件对 Chrome DevTools Protocol 频繁使用
人工智能·架构·前端框架