上一篇文章中我们介绍了如何绘制SVG文本,那么如何绘制多行文本呢?SVG 的
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>
下面是上面代码的返回结果:
注意上面的返回结果中,由于
垂直定位
如果你希望每一行文字都相对于前一行文字垂直定位,你可以在
<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像素。下面是上面代码的返回结果:
如果你希望
如果你在
<svg xmlns="http://www.w3.org/2000/svg"> <tspan dy="5 10 20">123</tspan> </svg>
下面是返回结果,注意各个字符在垂直方向上的变化。
水平定位
要使每一行文本在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>
如果你在
<svg xmlns="http://www.w3.org/2000/svg"> <tspan dx="5 10 20">123</tspan> </svg>
下面是返回结果,注意各个字符在水平方向上的变化。
你可以在
<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>
下面是上面代码的返回结果:
为tspan元素添加样式
我们可以为
<svg xmlns="http://www.w3.org/2000/svg"> <text y="10"> 这是一个被 <tspan style="font-weight: bold;">加粗</tspan> 的文字。 </text> </svg>
下面是上面代码的返回结果:
通过baseline-shift设置上标和下标效果
你可以通过baseline-shift CSS属性将一个
<text x="10" y="20"> 这是一个tspan元素的 <tspan style="baseline-shift: super;">上标</tspan> 和 <tspan style="baseline-shift: sub;">下标</tspan> 混合的文本串效果。 </text>
效果如下:
以上就是SVG基础|SVG TSPAN 元素的内容,更多相关内容请关注PHP中文网(www.php.cn)!