将鼠标悬停在父级上时更改 SVG 多边形和文本填充颜色

2024-01-05

我有一个小难题正在努力解决。当您将鼠标悬停在父 div 上时,尝试更改多边形填充颜色和文本填充颜色。这可以通过 CSS 实现吗?希望避免使用 JavaScript 并保持跨浏览器兼容。

Codepen 示例在这里:

http://codepen.io/okass/pen/OXAXkY http://codepen.io/okass/pen/OXAXkY

<svg viewBox="-1 -1 255 53"><a href="#">
<g id="cta-button">
  <polygon class="polygon-cta" points="252.72209 0 197.614579 51 0 51 0 0"></polygon>
  <text class="text-cta">
      <tspan x="22" y="34">Learn more</tspan>
  </text>
</g>
</a>

当您将鼠标悬停在 #cta-button 上时,我不知道如何将文本填充更改为白色...当您将鼠标悬停在文本上时,它会按预期工作,但当将鼠标悬停在多边形上时,文本会被隐藏。


移动文本颜色变化以触发parent组悬停状态。

svg #cta-button:hover text{
  fill: #fff;
}
#cta-button {
  fill: transparent;
  stroke: #e9004b;
}
svg text {
  font-weight: bold;
  font-size: 26px;
  font-family: lato;
  fill: #E9004B;
  stroke: none;
}
#cta-button:hover {
  fill: #e9004b;
}
svg #cta-button:hover text {
  fill: #fff;
}
<svg viewBox="-1 -1 255 53">
  <a href="#">
    <g id="cta-button">
      <polygon class="polygon-cta" points="252.72209 0 197.614579 51 0 51 0 0"></polygon>
      <text class="text-cta">
        <tspan x="22" y="34">Learn more</tspan>
      </text>
    </g>
  </a>
</svg>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将鼠标悬停在父级上时更改 SVG 多边形和文本填充颜色 的相关文章

随机推荐