Home  >  Article  >  Web Front-end  >  SVG基础|SVG TSPAN 元素

SVG基础|SVG TSPAN 元素

PHP中文网
PHP中文网Original
2016-05-17 09:07:292838browse

上一篇文章中我们介绍了如何绘制SVG文本,那么如何绘制多行文本呢?SVG 的4d04eeddb7e8b41623612fd2b0fd5728元素用于绘制SVG多行文本。我们不必每行文本都使用绝对定位来排列制作多行文本,使用4d04eeddb7e8b41623612fd2b0fd5728元素可以非常方便的使一行文本相对于另一行文本来定位。使用4d04eeddb7e8b41623612fd2b0fd5728元素还可以使用户在同一时间里选择和复制多行文字。

 tspan示例

<svg xmlns="http://www.w3.org/2000/svg">
  <text x="20" y="10">
      <tspan>tspan line 1</tspan>
      <tspan>tspan line 2</tspan>
  </text>
</svg>

下面是上面代码的返回结果:

933.png

注意上面的返回结果中,由于4d04eeddb7e8b41623612fd2b0fd5728元素没有设置其它参数,默认情况下第二行文字会紧跟着第一行文字排列。

 垂直定位

如果你希望每一行文字都相对于前一行文字垂直定位,你可以在4d04eeddb7e8b41623612fd2b0fd5728元素中使用dy属性(delta y):

<svg xmlns="http://www.w3.org/2000/svg">
  <text x="20" y="10">
      <tspan>tspan line 1</tspan>
      <tspan dy="10">tspan line 2</tspan>
  </text>
</svg>

现在第二行文字会显示在第一行文字下方,距离为10像素。下面是上面代码的返回结果:

934.png

如果你希望4d04eeddb7e8b41623612fd2b0fd5728元素在text中在垂直方向绝对定位某个指定的数值,可以设置28f128881ce1cdc57a572953e91f7d0f元素的y属性。

如果你在04635a68df61b45b2300cd76f9a098de属性中写了多个数字,那么每一个数字会被应用到4d04eeddb7e8b41623612fd2b0fd5728元素的每一个字符上。看下面的例子:

<svg xmlns="http://www.w3.org/2000/svg">
  <tspan dy="5 10 20">123</tspan>
</svg>

下面是返回结果,注意各个字符在垂直方向上的变化。

935.png

 水平定位

要使每一行文本在X轴方向上相对定位可以使用dx属性(delta x)。下面的例子展示了将dx的值设置为30的效果,现在第二行文字在水平方向上相对于第一行文字向右偏移了30像素。

<svg xmlns="http://www.w3.org/2000/svg">
  <text x="20" y="10">
      <tspan>tspan line 1</tspan>
      <tspan dx="30" dy="10">tspan line 2</tspan>
  </text>
</svg>

936.png

如果你在b6e6e9a4ff1f50b06a2a8175f44864d1属性中写了多个数字,那么每一个数字会被应用到4d04eeddb7e8b41623612fd2b0fd5728元素的每一个字符上。看下面的例子:

<svg xmlns="http://www.w3.org/2000/svg">
  <tspan dx="5 10 20">123</tspan>
</svg>

下面是返回结果,注意各个字符在水平方向上的变化。

937.png

你可以在4d04eeddb7e8b41623612fd2b0fd5728元素设置x属性来修正28f128881ce1cdc57a572953e91f7d0f元素的X坐标。使用这种方法你可以显示多行头部对齐的文字。来看下面的例子,x属性设置为10:

<svg xmlns="http://www.w3.org/2000/svg">
  <text y="10">
      <tspan x="10">tspan line 1</tspan>
      <tspan x="10" dy="15">tspan line 2</tspan>
      <tspan x="10" dy="15">tspan line 3</tspan>
  </text>
</svg>

下面是上面代码的返回结果:

938.png

 为tspan元素添加样式

我们可以为4d04eeddb7e8b41623612fd2b0fd5728元素添加样式,例如你可以将一个4d04eeddb7e8b41623612fd2b0fd5728元素中的文字设置为加粗字体:

<svg xmlns="http://www.w3.org/2000/svg">
  <text y="10">
    这是一个被 <tspan style="font-weight: bold;">加粗</tspan> 的文字。
  </text>
</svg>

下面是上面代码的返回结果:

939.png

 通过baseline-shift设置上标和下标效果

你可以通过baseline-shift CSS属性将一个4d04eeddb7e8b41623612fd2b0fd5728元素设置为上标或下标。看下面的例子:

<text x="10" y="20">
    这是一个tspan元素的 <tspan style="baseline-shift: super;">上标</tspan>
    和 <tspan style="baseline-shift: sub;">下标</tspan> 混合的文本串效果。
</text>

效果如下:

940.png

以上就是SVG基础|SVG TSPAN 元素的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn