【发布时间】:2017-10-27 10:08:02
【问题描述】:
我已经使用 illustrator 创建了 SVG,现在我使用 CSS 来制作鼠标悬停效果。
当鼠标悬停在子元素上时,鼠标悬停在父元素上停止工作。我不知道为什么会这样?是不是因为子元素阻止了悬停效果的传播?
这里是相关的 SVG 组:
<a target="_blank" href="#">
<g id="Technology">
<defs>
<rect id="SVGID_1_" x="191.825" y="377.344" width="37.1" height="33.539"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" overflow="visible"/>
</clipPath>
<path class="pie-chunk" fill="#FFFFFF" d="M280.676 ....."/>
<path class="small-chunk" fill="#1387C9" d="M136.448,339.175c21.922,58.945,78.01,10...."></path>
<path class="pie-chunk" clip-path="url(#SVGID_2_)" fill="#FFFFFF" d="M225.97,381.062h-9.865 ..."/>
<path class="pie-chunk" clip-path="url(#SVGID_2_)" fill="#FFFFFF" d="M202.123,394.549v4 .... "/>
<text transform="matrix(1 0 0 1 100.6704 465)" fill="#39A4DC" font-size="16">
TECHNOLOGY
</text>
</g>
</a>
这是 CSS:
g#Technology:hover text tspan,
g#Technology:hover text{
fill: #fff;
}
g#Technology:hover .pie-chunk:hover{
fill: #5D5D5D;
opacity: 0.9;
}
g#Technology:hover .small-chunk{
fill: #1E3565;
}
这里是问题的JSFiddle。
生产:
- 将鼠标悬停在技术白色部分上,它将正常工作。
- 悬停在文本(子元素)上,会产生悬停效果 变得怪异。
- 将鼠标悬停在带有图标的蓝色小部分上,它会再次变得怪异。
谁能指出我在这里做错了什么?
【问题讨论】:
-
你能修复你的 JSFiddle 链接吗?
-
您可能需要将
pointer-events: none;添加到文本元素的CSS 规则和“带有图标的蓝色小部分”(不管是什么)。但是如果没有minimal reproducible example——或者至少没有指向你的 JSFiddle 页面的链接——就不可能确定你的问题是什么。请解决此问题或将其删除。 -
对不起。 @VTodorov 这里是链接jsfiddle.net/fupa5u9p
-
@squeamishossifrage 抱歉,我刚刚更新了链接。