【问题标题】:Can text be added to an SVG path?可以将文本添加到 SVG 路径吗?
【发布时间】:2011-08-09 16:06:43
【问题描述】:

是否可以将文本添加到 svg 路径,我创建了一个 svg 三角形并想在其中心添加一个字母,但不确定这是否可能?

【问题讨论】:

  • 绝对有可能。我不得不承认,我不知道如何手工完成,但我使用 raphael js,并且一直使用/定位文本。看看那个图书馆,它可能会对你有所帮助。

标签: javascript jquery svg


【解决方案1】:

是的。有关使用 textPath 元素的信息,请参阅 section 10.13 of the SVG1.1 specification(标题为“路径上的文本”)。

总结:

  1. 给你的路径一个id属性。
  2. 创建<textPath xlink:href="#pathid">My text here</textPath>

这是一个直接来自规范的示例:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <path id="MyPath"
          d="M 100 200 
             C 200 100 300   0 400 100
             C 500 200 600 300 700 200
             C 800 100 900 100 900 100" />
  </defs>
  <desc>Example toap01 - simple text on a path</desc>

  <use xlink:href="#MyPath" fill="none" stroke="red"  />
  <text font-family="Verdana" font-size="42.5" fill="blue" >
    <textPath xlink:href="#MyPath">
      We go up, then we go down, then up again
    </textPath>
  </text>

</svg>

【讨论】:

  • 是否可以将文本放在路径中心?像margin: auto 这样的东西。但是我试过了,还是不行……
猜你喜欢
  • 1970-01-01
  • 2014-04-18
  • 2020-06-22
  • 2014-10-20
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多