【问题标题】:SVG linking within the same SVG structure同一 SVG 结构内的 SVG 链接
【发布时间】:2012-08-13 15:43:21
【问题描述】:

我的 HTML 文档中有两个 SVG 结构。比如说,

<svg width="8cm" height="3cm"
 xmlns="http://www.w3.org/2000/svg" version="1.1">
  <desc>Local URI references within ancestor's 'defs' element.</desc>
  <defs>
   <linearGradient id="Gradient01">
     <stop offset="20%" stop-color="#39F" />
     <stop offset="90%" stop-color="#F3F" />
   </linearGradient>
  </defs>
  <rect x="1cm" y="1cm" width="6cm" height="1cm" fill="url(#Gradient01)" />
</svg>

<svg width="8cm" height="3cm"
 xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
   <linearGradient id="Gradient01">
     <stop offset="20%" stop-color="#85F" />
     <stop offset="90%" stop-color="#35F" />
   </linearGradient>
  </defs>
  <rect x="10cm" y="10cm" width="60cm" height="10cm" fill="url(#Gradient01)" />
</svg>

虽然在两个 SVG 结构中都有一个 ID 为“Gradient01”的“linearGradient 标签”,但第二个 SVG 结构的矩形也遵循第一个 SVG 结构的“linearGradient”。 (因为它在整个文档中搜索 id)

无论如何,它总是只在那个 SVG 结构内链接。 (因为在我的情况下我无法更改 ID)

【问题讨论】:

    标签: svg hyperlink href xlink


    【解决方案1】:

    您可以将 svg 转换为独立图像,然后使用 &lt;iframe&gt;&lt;object&gt; 标签将它们嵌入到 html 文档中。

    【讨论】:

    • 感谢您的回复。但是,有没有其他方法不使用 iframe 或对象??
    • 单个文档必须有唯一的 ID。如果您不准备更改 Id 以使它们独一无二,那么您只能拆分成单独的文档。
    猜你喜欢
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2015-03-12
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多