本文介绍使用svg,让文字沿着指定的曲线运动。我的弹幕也有解决方案了
如图所示,文字在指定的曲线上运动

<svg width="100%" height="100%" viewBox="0 0 1000 300"xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MyPath"d="M 100 200 C 200 100 300   0 400 100C 500 200 600 300 700 200C 800 100 900 100 900 100" /></defs><use xlink:href="#MyPath" fill="none" stroke="red"  /><text font-family="Verdana" font-size="42.5"><textPath xlink:href="#MyPath">CSDN-叶常落<animate attributeName="startOffset" from="0" to ="830" begin="0s" dur="10s" repeatCount="indefinite"/></textPath></text><!-- Show outline of the viewport using 'rect' element --></svg>

如果把path的颜色去掉,就会更加的玄幻一些

下面是我的思考过程。

  1. svg画曲线
    path可以画出一条路径,path可以用id作为唯一标示
  2. 动画中如何指定元素的运动轨迹

animate 动画元素放在形状元素的内部,用来定义一个元素的某个属性如何踩着时点改变。在指定持续时间里,属性从开始值变成结束值。

animateMotion元素导致引用的元素沿着运动路径移动。
animateMotion元素的mpath子元素使animateMotion 元素能够引用一个外部的path元素作为运动路径的定义。

  1. 把文字放到指定的路径上
    除了笔直地绘制一行文字以外, SVG 也可以根据 path 元素的形状来放置文字。 只要在textPath元素内部放置文本,并通过其xlink:href属性值引用path元素,我们就可以让文字块呈现在path元素给定的路径上了。

  2. 让文字在路径上运动起来
    使用animate让文字动起来

  <text><textPath  xlink:href="#path1" class="text-content"  startOffset="160">热烈欢迎         <animate attributeName="startOffset" from="0" to ="830" begin="0s" dur="10s" repeatCount="indefinite"/></textPath></text><rect  width="10" height="10"><animateMotion dur="6s" repeatCount="indefinite" rotate="auto" ><mpath xlink:href="#path1"/></animateMotion></rect>

codepen也是一个好地方
https://codepen.io/tw93/pen/oBYGrZ

web浏览器真是个有趣的地方

来不及解释了快上车https://zhuanlan.zhihu.com/p/25016633

有趣的灵魂总是让人忍不住去Follow啊。
https://juejin.im/post/585f855961ff4b006ce0f05b
下面的图片的Path不是我的原创,原创在这里。

svg画曲线

常用path

path多数不是手动敲出来的,而是从PS导出的,要知道设计工具是可以导出svg的。
有了path之后,我们再给她添加上动画效果就可以了。


参考文档
【Web动画】SVG 实现复杂线条动画
https://www.cnblogs.com/coco1s/p/6230165.html
三十个大神级别的svg动效
https://www.hongkiat.com/blog/svg-animations/

svg 让文字沿着指定的曲线运动相关推荐

  1. java word添加图片_Java 替换word文档文字并指定位置插入图片

    先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...

  2. 如何制作HTML5 SVG描边文字

    在很多时候,SVG是最容易在网页上做出文字特效的方法.现在SVG已经被所有的现代浏览器支持,包括IE9.要在页面上制作SVG文字,可以直接将SVG代码插入带页面中,SVG文字代码十分简单易懂.如下是一 ...

  3. 使用SVG.Net生成svg格式文字图片

    由于项目需要,需生成svg格式文字图片,网上的文档较少,在一番查阅之后成功实现.现记录下来,方便以后自己查阅,以及需要的人也可当做参考,水平不高,少喷. 主要运用到GitHub开源项目: svg.ne ...

  4. Echarts中对地图的指定区域文字展示指定的颜色

    Echarts中对地图的指定区域文字展示指定的颜色 项目场景: 为提高客户满意度,修改地图中某个区域的文字颜色 解决方案: 通过修改series-map.data.label.color属性 参考链接 ...

  5. elementui中,表格里的文字设置指定行溢出显示省略号,并且鼠标放上去能看到全部的文字

    嗨害嗨,我又来了奥.今天呢,遇到有人问了一个这样的问题,就是如果在elementui中,表格里的文字设置指定行溢出显示省略号,并且鼠标放上去能看到全部的文字,该怎么做. 首先,我们知道elementu ...

  6. svg实现文字笔画流动效果

    背景: 前段时间着手某一项目时UI提出实现文字笔画流动效果的需求,故在github和gitee上寻找灵感,最后从一位学长的项目中找到了实现方法,感觉收获颇多,特此记录. 解决方案: 搭建svg基本的h ...

  7. SVG绘制文字特效 html+css

    效果(源码在最后): 实现: 定义基本标签,main是底层盒子,text是文本,SVG标签用法看这里: <main><svg width="500" height ...

  8. iostext添加点击事件_iOS实现一段文字中指定的某些文字点击有响应事件或者可以跳转(给字符串添加超链接)...

    直接上需求,见如下UI图: 需求是点击中间的电话(蓝色字体部分),可以直接拨打电话.对于这种很长的一段文字中间夹着可以有点击事件的文字,可以通过下面这种方式解决: 图中所指的这段文字,不用UILabe ...

  9. java word替换图片_Java 替换word文档文字并指定位置插入图片

    先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...

最新文章

  1. 2022-2028年中国氟膜行业市场全景评估及发展策略分析报告
  2. 久其软件怎么样_久其软件助力中国电信顺利完成网络攻防演练
  3. 硬件知识:电脑硬盘的数据保护与恢复,新手必备的知识!
  4. 云计算的发展及应用--演讲用PPT
  5. jboss7.1.安装配置
  6. Java Spring AOP
  7. java套接字数据对不上,服务器不从多个客户端(Java套接字)接收数据
  8. Python3.6机器学习sklearn中导入train_test_split库出错“Unresolved reference ‘train_test_split’”
  9. C/C++训练项目一:2048
  10. 高等数学(第七版)同济大学 习题3-1 个人解答
  11. ENGLISH-英文进修
  12. echarts 制作图表固定的三个步骤
  13. 陪玩视频聊天系统开发,升级与更新功能的实现
  14. Flutter Visibility Widget
  15. Probabilistic Foot Contact Estimation by Fusing Information from Dynamics and Differential/Forward K
  16. 分享一个可以下载网页上视频软件(IDM 6.33.2)下载器
  17. 基于QQ远程协助的远程桌面实现
  18. 【图像分割】基于差分进化算法优化模糊熵实现多级图像阈值分割附matlab代码
  19. 埃里克贝里奇_【双语分享】为什么科技需要人文学科?
  20. java中按学号查找_Java课程设计---浏览学生(实现根据姓名查询)

热门文章

  1. 1024节日快乐~~~~
  2. Linux—vi/vim全局替换
  3. 字符串的相关方法 2101 0310
  4. 数组的操作与方法的操作 0303 2101
  5. 能够使用StringBuilder类的常用方法操纵字符串 1215
  6. git-比对不同-diff
  7. linux-用户管理190919
  8. python-第一个python程序-向世界问好
  9. crontab -e 怎么保存后退出?
  10. node.js之require