如何使用样式化组件在 reactjs 中设置 svg 样式

Posted

技术标签:

【中文标题】如何使用样式化组件在 reactjs 中设置 svg 样式【英文标题】:how to style svg in reactjs with styled components 【发布时间】:2021-07-04 05:13:48 【问题描述】:
import  FaRegHeart  from 'react-icons/fa';


const IconHeart = styled(FaRegHeart)`

width:21px;
height:18px;
position: absolute;
left: 28%;
top:30%;
cursor: pointer;
&:hover
 background-color:red;

`


function Heart() 
  return (
    <HeartBox>

      <IconHeart />

    </HeartBox>

  )

猜测:

我完全控制了 svg 图标,悬停在此图标上不起作用。喜欢在图标周围有边框,但是如果我设置边框,他会在图标周围放置边框,而不是在其本身上

【问题讨论】:

【参考方案1】:

你需要使用 SVG 的填充属性

const IconHeart = styled(FaRegHeart)`
  width:21px;
  height:18px;
  position: absolute;
  left: 28%;
  top:30%;
  cursor: pointer;

  :hover
    fill:red;
    
`

代码沙盒示例:https://codesandbox.io/s/styled-hover-fill-svg-iks37

【讨论】:

以上是关于如何使用样式化组件在 reactjs 中设置 svg 样式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用类对象在 Reactjs 中设置功能性无状态组件的样式

如何在 Material-UI、ReactJS 中从分页中设置分页项的样式?

ReactJS - CSS:在样式对象中设置 trasitionProperty 不起作用

在样式化组件中设置 React 组件道具

ReactJS中从父组件调用子函数时如何在子组件中设置状态

在 ReactJS 环境中设置复选框样式