鱼C论坛

 找回密码
 立即注册
查看: 652|回复: 1

[已解决]SVG group问题

[复制链接]
发表于 2023-1-5 18:02:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助大佬们一个SVG group的问题,假设下面的svg:
<svg>
<def>
<g id="group1">
<g id="group2">
.....
</g>
</g>
<g id="group3">
<g id="group2">
.......
</g>
</g>
</def>
<use x="0" y="0" xlink:href="#group2" />

我知道这种情况会默认使用group1中的group2,
请问一下有没有办法让我使用在group3中的group2呢?(不更改子组的id)
最佳答案
2023-3-25 16:27:12
  1. 在 SVG 中,如果有多个元素具有相同的 ID,则只有第一个元素被选择器或其他元素引用。因此,在您的示例中,由于存在两个具有相同 ID 的 <g> 元素,只有第一个元素(即 group2 所在的 group1)会被默认引用。

  2. 为了解决这个问题,您可以使用其他选择器来引用第二个具有相同 ID 的 <g> 元素(即 group2 所在的 group3)。例如,您可以使用以下代码来引用 group2 所在的 group3:

  3. <svg>
  4.   <defs>
  5.     <g id="group1">
  6.       <g id="group2">
  7.         <!-- ... -->
  8.       </g>
  9.     </g>
  10.     <g id="group3">
  11.       <g id="group2">
  12.         <!-- ... -->
  13.       </g>
  14.     </g>
  15.   </defs>
  16.   <use x="0" y="0" xlink:href="#group3 > #group2" />
  17. </svg>
  18. 在上面的代码中,我们使用 CSS 选择器 #group3 > #group2 来引用 group2 所在的 group3,而不是默认引用 group2 所在的 group1。这样,您就可以在不更改子组 ID 的情况下,使用在 group3 中的 group2 了。
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-25 16:27:12 | 显示全部楼层    本楼为最佳答案   
  1. 在 SVG 中,如果有多个元素具有相同的 ID,则只有第一个元素被选择器或其他元素引用。因此,在您的示例中,由于存在两个具有相同 ID 的 <g> 元素,只有第一个元素(即 group2 所在的 group1)会被默认引用。

  2. 为了解决这个问题,您可以使用其他选择器来引用第二个具有相同 ID 的 <g> 元素(即 group2 所在的 group3)。例如,您可以使用以下代码来引用 group2 所在的 group3:

  3. <svg>
  4.   <defs>
  5.     <g id="group1">
  6.       <g id="group2">
  7.         <!-- ... -->
  8.       </g>
  9.     </g>
  10.     <g id="group3">
  11.       <g id="group2">
  12.         <!-- ... -->
  13.       </g>
  14.     </g>
  15.   </defs>
  16.   <use x="0" y="0" xlink:href="#group3 > #group2" />
  17. </svg>
  18. 在上面的代码中,我们使用 CSS 选择器 #group3 > #group2 来引用 group2 所在的 group3,而不是默认引用 group2 所在的 group1。这样,您就可以在不更改子组 ID 的情况下,使用在 group3 中的 group2 了。
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-17 04:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表