文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一篇文章带你了解SVG <tspan>元素

2024-12-03 15:03

关注

SVG 元素用于在SVG中绘制多行文本。不必绝对定位每行文本,该 元素使相对于前一行文本放置一行文本成为可能。该 元素还使用户可以一次选择并复制粘贴几行文本,而不仅仅是一个text元素。

一、tspan简单案例分析

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    "20" y="15"
  5.        tspan line 1 
  6.        tspan line 2 
  7.     
  8.  

运行效果:

注意

结果如何导致文本行相对于彼此(彼此之后)定位。

二、定位

1. 垂直定位

如果希望将线垂直相对放置,可以使用dy 属性(delta y)。现在,由于dy第二个元素的属性设置为“ 10” ,因此第二行文本显示在第一行文本下方10个像素处。

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    "20" y="15"
  5.        tspan line 1 
  6.        "10">tspan line 2 
  7.     
  8.  

运行效果:

注:

如果要将元素定位 在绝对y位置y ,请像对待元素一样使用属性。如果在dy属性内写入多个数字,则每个数字都将应用于元素内文本的字符。

例:

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.        "10" y="15"
  4.            "5 10 20"
  5.               123 
  6.             
  7.         
  8.  

运行效果:

注:

字形之间的垂直间距现在是如何变化的。

2. 水平定位

要将文本相对定位在x轴上,可以使用dx属性(delta x)。

下面的示例显示了设置dx为30 的效果。

例(请注意,现在第二行文本相对于第一行文本的末尾(不是开头)显示30个像素)

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    "20" y="15"
  5.        tspan line 1 
  6.        "30" dy="10">tspan line 2 
  7.     
  8.  

运行效果:

如果在dx属性内指定多个数字,则每个数字将应用于元素内的每个字母。

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  "10" y="20"
  4.    "5 10 20">123 
  5.   
  6.  

运行效果:

还可以设置x属性以固定文本行的x坐标。如果要在彼此下方显示所有未调整的行的列表,这将很有用。这是一个x在三行中设置为10 的示例:

示例

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink"
  3.  
  4.    "20"
  5.        "10">tspan line 1 
  6.        "10" dy="15">tspan line 2 
  7.        "10" dy="15">tspan line 3 
  8.     
  9.  

运行效果:

三、样式tspan元素

可以单独设置元素样式。因此,可以使用 元素来设置文本块的样式,以使其不同于其余文本。

  1. "http://www.w3.org/2000/svg" 
  2.     xmlns:xlink="http://www.w3.org/1999/xlink">"10" y="20"
  3.   Here is a "font-weight: bold;">bold word. 
  4.  

运行结果

四、基线偏移的上标和下标

可以使用baseline-shiftCSS属性使用元素创建上标和下标 。

这是一个SVG baseline-shift示例,显示了如何:

示例

  1. "500" height="100"
  2.       "10" y="20"
  3.         Here is a text with  
  4.         "baseline-shift: super;">superscript 
  5.         and "baseline-shift: sub;">subscript mixed with normal 
  6.         text. 
  7.        
  8.  

运行效果:(注意:firefox可能不支持)

五、总结

本文基于SVG基础,介绍了有关的元素定位,改变不同的属性,实现不一样的位置显示效果。以及实际项目应用中基线偏移的上标和下标的应用。本文运用丰富的效果图展示,能够让读者更好的理解。

欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

代码很简单,希望对你学习有帮助。

本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。

 

来源:前端进阶学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯