2 回答
TA贡献1860条经验 获得超9个赞
编辑:此解决方案仅适用于在线 svg,因为浏览器也能够在的孩子上添加该fill属性。svg这不是基本文本,因此a无法填写。
(您可以使用文本编辑器打开 svg 文件并复制其内容)
您也应该:hover在 svg 类上应用伪类!
navLinkHolder:hover {
fill: yellow;
}
例子:
.mylink:hover {
fill: orange;
color: orange;
}
<div>
<a href="/" class="mylink">
my link
<svg width="24" height="24" class="mysvg">
<path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"></path>
</svg>
</a>
</div>
您也可以分离样式,但是像这样 svg 和文本将在同一时间以相同的方式表现。
TA贡献1829条经验 获得超4个赞
您可以将“className”添加到 SVG 中的“路径”,因此在父 CSS 悬停中使用它:
<svg width="24" height="24">
<path className="myIcon" d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"></path>
</svg>
import { ReactComponent as DashboardIcon } from "../assets/ico_dashboard.svg";
<div className="navBar">
<ul className="nav-links">
<li>
<div className="divHover">
<a href="#">
<DashboardIcon height={50} />
Dashboard
</a>
</div>
</li>
</ul>
</div>
CSS:
a:hover .myIcon{
fill: red;
}
或者:
.divHover:hover .myIcon{
fill: red;
}
添加回答
举报