一篇文章带你了解SVG 文本效果

开发 前端
本文基于Html基础,详细的介绍了SVG中常见的文本效果,如何变换文字,如何在文本,如何添加文字超链接等等。

[[389752]]

一、前言

SVG <text> 元素用于在SVG图像中绘制文本。在svg中使用<text> 元素,可以实现绘制文字,文字旋转,多行文字,具有超级链接的文字等。

二、基本文本

要绘制文本,使用<text>元素。

例:

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <title>项目</title> 
  4.  
  5.   <body style="background-color: aqua;"
  6.     <h1>SVG Text</h1> 
  7.     <svg width="550" height="150"
  8.       <g> 
  9.         <text x="40" y="23">Text: </text> 
  10.         <text x="40" y="40" fill="rgb(121,0,121)">http://pdcfighting.com/ </text> 
  11.       </g> 
  12.     </svg> 
  13.   </body> 
  14. </html> 

运行后效果如下:

代码解释

x:定义了文本左上角的位置 ,y:定义文本的顶部位置,width:定义宽度,height:定义高度。

fill:fill属性用于定义填充颜色。

三、旋转文字

用于创建旋转文本。

例:

  1. <!DOCTYPE html> 
  2. <html> 
  3. <body style="background-color: aqua;"
  4.  
  5. <svg height="100" width="200"
  6. <text x="0" y="15" fill="red" transform="rotate(30 20,40)">http://pdcfighting.com/</text> 
  7. </svg> 
  8.  
  9. </body> 
  10. </html> 

运行后效果如下:

用法解释

x:定义左上角的位置。y:它定义顶部位置。width:定义宽度。height:定义高度。

fill:fill属性用于定义填充颜色。

四、多行文字

元素可以安排任何分小组与 <tspan> 元素的数量。每个 <tspan> 元素可以包含不同的格式和位置。几行文本(与 <tspan> 元素)。

  1. <!DOCTYPE html> 
  2. <html> 
  3. <body style="background-color: aqua;"
  4.  
  5. <svg width="570" height="100"
  6. <g> 
  7. <text x="40" y="23">Multiline Text: </text> 
  8. <text x="40" y="40" fill="rgb(121,0,121)">http://pdcfighting.com/ 
  9. <tspan x="40" y="60" font-weight="bold">ddaad</tspan> 
  10. </text> 
  11. </g> 
  12. </svg> 
  13.  
  14. </body> 
  15. </html> 

运行后效果如下:

用法解释

x:定义左上角的位置。y:它定义顶部位置。width:定义宽度。height:定义高度。

fill:fill属性用于定义填充颜色。

五、超级链接文字

用于创建具有超级链接的文本

示例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <body style="background-color: aqua;"
  4.  
  5. <svg width="500" height="100"
  6. <g> 
  7. <text x="20" y="10">Text as Link: </text> 
  8.  
  9. <a xlink:href="http://pdcfighting.com/" target="_blank"
  10. <text font-family="Verdana" font-size="30" x="40" y="40" fill="rgb(121,0,121)">http://pdcfighting.com/</text> 
  11. </a> 
  12. </g> 
  13. </svg> 
  14.  
  15. </body> 
  16. </html> 

运行后效果如下:

六、路径上的文字

下面是SVG代码:

  1. <!DOCTYPE html> 
  2. <html> 
  3. <body style="background-color: aqua;"
  4.  
  5. <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"
  6. <defs> 
  7. <path id="path1" d="M75,20 a1,1 0 0,0 100,0" /> 
  8. </defs> 
  9. <text x="10" y="100" style="fill:red;"
  10. <textPath xlink:href="#path1">I love SVG I love SVG</textPath> 
  11. </text> 
  12. </svg> 
  13.  
  14. </body> 
  15. </html> 

运行效果如下:

七、总结

本文基于Html基础,详细的介绍了SVG中常见的文本效果,如何变换文字,如何在文本,如何添加文字超链接等等。

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

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

 

责任编辑:姜华 来源: 前端进阶学习交流
相关推荐

2020-12-08 08:09:49

SVG图标Web

2021-02-26 20:01:57

SVG滤镜元素

2020-12-23 08:12:08

javascriptSVG脚本SVG元素

2021-01-01 09:18:48

SVG图像元素

2020-12-29 09:39:38

元素属性定位

2021-02-23 06:51:16

SVGstrokeHtml基础

2022-05-13 16:21:38

javascrip脚本SVG

2020-12-25 09:42:51

SVGtspanSVG基础

2021-02-05 18:36:15

SVG形状属性

2020-12-15 08:15:34

SVG元素路径

2021-01-04 10:14:42

SVG标签元素

2020-12-04 08:40:29

SVG动画元素

2020-12-11 08:39:14

SVG代码剪切

2021-05-31 09:30:36

Css前端CSS 特效

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平台

2021-03-09 14:04:01

JavaScriptCookie数据

2021-05-18 08:30:42

JavaScript 前端JavaScript时

2021-03-05 18:04:15

JavaScript循环代码

2021-01-26 23:46:32

JavaScript数据结构前端
点赞
收藏

51CTO技术栈公众号