我已经用React完成了之前的2个项目,并使用了Sass文件来设计组件的样式。但是在这个项目中,由于我必须为图像使用SVG,因此有些混乱。现在,我被困在使用Sass文件样式化SVG的过程中。
这是codeandbox,仅包含要更改svg颜色的导航栏组件logoBookmark
。
我不想粘贴整个xml内容。所以我立即导入SVG
import logoBookmark from "../../images/logo-bookmark.svg"
,
并设置src={logoBookmark}
了img
标记。
为了给外部SVG设置样式,我在堆栈溢出时找到了这个简单的解决方案。
但是我不知道如何在React中实现此功能,我有一个Sass文件,该文件进一步导入了JSX文件中。
那么有人可以分享这个问题的最佳解决方案吗?
您需要将SVG导入为组件,以便将其作为<svg/>
而不是进行安装<img/>
。请参阅在CRA中添加SVG。
然后,您只需circle
将svg
with CSS作为目标:
.logo {
circle {
fill: red;
}
}
import { ReactComponent as Logo } from "../../images/logo-bookmark.svg";
export default function NavBar() {
return (
<nav className="navbar">
<div className="brand">
<a href="/">
<Logo className="logo" />
</a>
</div>
</nav>
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句