html - 如何在 React 中为 svg 图像添加颜色

标签 html reactjs css

我有一个图标列表。我想将图标颜色更改为白色。默认情况下我的图标是黑色的。 大家有什么建议吗?

我通常在我的CSS中使用'fill:white',但现在我在React中这样做......它不起作用!

import React from 'react'
import menuIcon from '../img/menu.svg';
import homeIcon from '../img/home.svg';


<ul>
   <li>
    <a href="/" className="sidebar__link">
     <img src={menuIcon} alt="sidebar icon" className="sidebar__icon" />
    </a>
   </li>
   <li>
    <a href="/" className="sidebar__link">
     <img src={homeIcon} alt="sidebar icon" className="sidebar__icon" />
    </a>
   </li>
</ul>



.sidebar__icon {
 fill: #FFFFF;
 width: 3.2rem;
 height: 3.2rem;
}

最佳答案

我使用这种方法来避免为每个图标创建一个 React 组件的需要。作为docs假设您可以将 SVG 文件作为 React 组件导入。

import { ReactComponent as Logo } from './logo.svg';
const App = () => (
  <div>
    {/* Logo is an actual React component */}
    <Logo />
  </div>
);

如果您想更改填充属性,则必须将 SVG fill 的值设置为 current,然后您可以像这样使用它:

<svg fill="current" stroke="current" ....> ... </svg>
import { ReactComponent as Logo } from './logo.svg';
const App = () => (
  <div>
    {/* Logo is an actual React component */}
    <Logo fill='red' stroke='green'/>
  </div>
);

关于html - 如何在 React 中为 svg 图像添加颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519654/

相关文章:

jquery - IE7+8动画bug,背景色+CSS3圆 Angular

javascript - 获取/设置本地存储的数值

javascript - 更改现有对象的状态

javascript - child 继承 parent 的 z-index

javascript - Draftjs 尝试删除原子 block

javascript - 处理竞争条件 : Passport SignUp function works but responds with 404 Error

php - [PHP-]PhantomJS - 自动检测给定高度的页面高度

javascript - 选择的 ID 丢失

javascript - 如何更改innerHTML的innerHTML

css - 标题元素在 IE8 中被隐藏