|
发表于 2023-3-25 16:27:12
|
显示全部楼层
本楼为最佳答案
- 在 SVG 中,如果有多个元素具有相同的 ID,则只有第一个元素被选择器或其他元素引用。因此,在您的示例中,由于存在两个具有相同 ID 的 <g> 元素,只有第一个元素(即 group2 所在的 group1)会被默认引用。
- 为了解决这个问题,您可以使用其他选择器来引用第二个具有相同 ID 的 <g> 元素(即 group2 所在的 group3)。例如,您可以使用以下代码来引用 group2 所在的 group3:
- <svg>
- <defs>
- <g id="group1">
- <g id="group2">
- <!-- ... -->
- </g>
- </g>
- <g id="group3">
- <g id="group2">
- <!-- ... -->
- </g>
- </g>
- </defs>
- <use x="0" y="0" xlink:href="#group3 > #group2" />
- </svg>
- 在上面的代码中,我们使用 CSS 选择器 #group3 > #group2 来引用 group2 所在的 group3,而不是默认引用 group2 所在的 group1。这样,您就可以在不更改子组 ID 的情况下,使用在 group3 中的 group2 了。
复制代码 |
|