在SVG网页链接(web link in svg)

2019-09-18 16:58发布

我需要有一个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树的一部分。

Answer 1:

你想<a xlink:href="http://example.org/"> 。 这是一个SVG元素太多,你看。

回复:XHTML链接。 我相信,一个更好的问题是,为什么你会期待它的工作,或需要它? SVG有自己非常适合链接元素,它被广泛实施,很好的支持。

正如在评论被提出,它与辍学的SVG渲染上下文做; 这可能会或可能不会是这样,越有可能是一个问题实现定义的行为。 即便如此,它不应该被认为是有可能的工作在任何未来的实施,特别是考虑到具有相同功能的天然标签的存在。



文章来源: web link in svg