【问题标题】:web link in svgsvg 中的网页链接
【发布时间】:2010-11-10 15:48:06
【问题描述】:

我需要在 svg 图表中包含链接文本。这就是我所做的

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="138pt" height="188pt" viewBox="0.00 0.00 138.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml">
  <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
    <g id="node5" class="node"><title>EQ2</title>
      <ellipse style="fill:none;stroke:black;" cx="65" cy="-18" rx="29.1851" ry="18"/>
      <text text-anchor="middle" x="65" y="-13.9" style="font-family:Times New Roman;font-size:14.00;">foo <html:a href="http://google.com">bar</html:a></text>
    </g>
  </g>
</svg>

我希望htmlhtml:a 标记的命名空间能够正确处理条形文本。但我得到的是该栏没有显示。正如答案中所建议的,我可以使用 svg:a 元素,但我不明白为什么我的方法不起作用。我希望浏览器 HTML 渲染器能够启动并处理 DOM 树的那部分。

【问题讨论】:

    标签: xml xhtml namespaces svg


    【解决方案1】:

    你想要&lt;a xlink:href="http://example.org/"&gt;。你看,它也是一个 SVG 元素。

    回复:XHTML 链接。我相信一个更好的问题是,您为什么希望它起作用,或者需要它? SVG 有自己非常合适的链接元素,它被广泛实施并得到很好的支持。

    正如评论中所建议的,它与退出 SVG 渲染上下文有关;这可能是也可能不是,更可能是实现定义的行为。即便如此,它也不应该被认为可能在未来的任何实现中起作用,尤其是考虑到存在具有相同功能的本机标签。

    【讨论】:

    • 它有效,谢谢,但无论如何我不明白为什么它在另一种情况下不起作用。从技术上讲,我希望 html 渲染器能够启动并处理 DOM 树的那部分。
    • 您必须先使用 foreignObject 退出 SVG 内容才能处理 HTML 内容。
    猜你喜欢
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2020-11-12
    • 2011-07-04
    相关资源
    最近更新 更多