PbootCMS教程
html5教程
CMS教程
网页设计
bootstrap教程
扁平化设计
手机网站教程
HTML5动态
css3教程
前端设计
SVG基础 | SVG TSPAN 元素
时间:2016-03-08
上一篇文章
中我们介绍了如何绘制SVG文本,那么如何绘制多行文本呢?SVG 的<tspan>元素用于绘制SVG多行文本。我们不必每行文本都使用绝对定位来排列制作多行文本,使用
<tspan>
元素可以非常方便的使一行文本相对于另一行文本来定位。使用
<tspan>
元素还可以使用户在同一时间里选择和复制多行文字。
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>
复制代码
下面是上面代码的返回结果:
注意上面的返回结果中,由于<tspan>元素没有设置其它参数,默认情况下第二行文字会紧跟着第一行文字排列。
垂直定位
如果你希望每一行文字都相对于前一行文字垂直定位,你可以在元素中使用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像素。下面是上面代码的返回结果:
如果你希望<tspan>元素在text中在垂直方向绝对定位某个指定的数值,可以设置<text>元素的y属性。
如果你在<ty>属性中写了多个数字,那么每一个数字会被应用到<tspan>元素的每一个字符上。看下面的例子:
<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>
复制代码
如果你在<dx>属性中写了多个数字,那么每一个数字会被应用到<tspan>元素的每一个字符上。看下面的例子:
<svg xmlns="http://www.w3.org/2000/svg">
<tspan dx="5 10 20">123</tspan>
</svg>
复制代码
下面是返回结果,注意各个字符在水平方向上的变化。
你可以在<tspan>元素设置x属性来修正<text>元素的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>
复制代码
下面是上面代码的返回结果:
为TSPAN元素添加样式
我们可以为<tspan>元素添加样式,例如你可以将一个
<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属性将一个<tspan>元素设置为上标或下标。看下面的例子:
<text x="10" y="20">
这是一个tspan元素的 <tspan style="baseline-shift: super;">上标</tspan>
和 <tspan style="baseline-shift: sub;">下标</tspan> 混合的文本串效果。
</text>
复制代码
效果如下:
本文版权属于jQuery之家,转载请注明出处:
http://www.htmleaf.com/ziliaoku/ ... g/201506091997.html
上一篇:SVG基础 | 绘制SVG直线、折线和多边形
下一篇:SVG基础 | 绘制SVG文字
相关文章
如何将 HTML5 性能发挥到极致
由于实际运行环境是在浏览器中,因此性能还取决于JavaScript解释器的效率,指定的FPS帧速在低性能解释器中可能不会
HTML5 VideoAPI,打造自己的Web视频播放器
本文将使用HTML5提供的VideoAPI做一个自定义的视频播放器,需要用到HTML5提供的video标签、以及HTML5提供的对JavascriptAP
HTML5 手势检测原理和实现
随着 Hybrid 应用的丰富,HTML5 工程师们已经不满足于把桌面端体验简单移植到移动端,他们觊觎移动原生应用人性化的
4分钟学会网页样式[译]
你想要在自己网站上分享一个产品,或者是一个作品集,又或者仅仅只是一个灵感。在你发布到网上之前,你想让它
H5你真的了解吗?(绝对干货)
H5广告,包括H5广告的设计流程,究竟有什么讲究,和阶段。为了能帮助更多的人了解H5广告,我专门做了一个讲义。
2015-2016前端架构体系技术精简版
本文主要内容有:框架与组件、构建生态、开发技巧与调试、html、css与重构、native/hybrid/桌面开发、前端/H5优化、全
最新文章
有关HTML5页面在iPhoneX适配问题
这篇文章主要介绍了有关HTML5页面在iPhoneX适配问题,需要的朋友可以参考下
html5中canvas图表实现柱状图的示例
本篇文章主要介绍了html5中canvas图表实现柱状图的示例,本文使用canvas来实现一个图表,小编觉得挺不错的,现在分享给大家
Adobe Html5 Extension开发初体验图文教程
基于HTML5的WebGL经典3D虚拟机房漫游动画
手机端用rem+scss做适配的详解
canvas 实现 github404动态效果的示例代码
关于h5中的fetch方法解读(小结)
html5实现移动端适配完美写法
localStorage、sessionStorage使用总结
HTML5响应式(自适应)网页设计的实现
SVG实现多彩圆环倒计时效果的示例代码
HTML5打开手机扫码功能及优缺点