效果图:

原理:多个SVG描边动画使用不同的animation-delay即可!

对于一个形状SVG元素或文本SVG元素,可以使用stroke-dasharray来控制描边的间隔样式,并且可以用stroke-dashoffset来控制描边的偏移量,借此可以实现描边动画效果,更具体的资料可以看看张大神的《纯CSS实现帅气的SVG路径描边动画效果

我们先实现一个简单的文字描边动画:

  1. <svg width="100%" height="100">
  2. <text text-anchor="middle" x="50%" y="50%" class="text">
  3. segmentfault.com
  4. </text>
  5. </svg>
  1. .text{
  2. font-size: 64px;
  3. font-weight: bold;
  4. text-transform: uppercase;
  5. fill: none;
  6. stroke: #3498db;
  7. stroke-width: 2px;
  8. stroke-dasharray: 90 310;
  9. animation: stroke 6s infinite linear;
  10. }
  11. @keyframes stroke {
  12. 100% {
  13. stroke-dashoffset: -400;
  14. }
  15. }

演示地址:http://output.jsbin.com/demic...

然后我们同时使用多个描边动画,并设置不同的animation-delay:

  1. <svg width="100%" height="100">
  2. <text text-anchor="middle" x="50%" y="50%" class="text text-1">
  3. segmentfault.com
  4. </text>
  5. <text text-anchor="middle" x="50%" y="50%" class="text text-2">
  6. segmentfault.com
  7. </text>
  8. <text text-anchor="middle" x="50%" y="50%" class="text text-3">
  9. segmentfault.com
  10. </text>
  11. <text text-anchor="middle" x="50%" y="50%" class="text text-4">
  12. segmentfault.com
  13. </text>
  14. </svg>

注意:要使用多少种颜色,就放多少个text

  1. .text{
  2. font-size: 64px;
  3. font-weight: bold;
  4. text-transform: uppercase;
  5. fill: none;
  6. stroke-width: 2px;
  7. stroke-dasharray: 90 310;
  8. animation: stroke 6s infinite linear;
  9. }
  10. .text-1{
  11. stroke: #3498db;
  12. text-shadow: 0 0 5px #3498db;
  13. animation-delay: -1.5s;
  14. }
  15. .text-2{
  16. stroke: #f39c12;
  17. text-shadow: 0 0 5px #f39c12;
  18. animation-delay: -3s;
  19. }
  20. .text-3{
  21. stroke: #e74c3c;
  22. text-shadow: 0 0 5px #e74c3c;
  23. animation-delay: -4.5s;
  24. }
  25. .text-4{
  26. stroke: #9b59b6;
  27. text-shadow: 0 0 5px #9b59b6;
  28. animation-delay: -6s;
  29. }
  30.  
  31. @keyframes stroke {
  32. 100% {
  33. stroke-dashoffset: -400;
  34. }
  35. }

大功告成,演示地址:http://output.jsbin.com/vuyuv...

需要注意的几个点:

  1. 各个元素的animation-delay与animation的总时长的设置要协调
  2. stroke-dashoffset与stroke-dasharray的设置要协调

转自:https://segmentfault.com/a/1190000010963326

使用SVG + CSS实现动态霓虹灯文字效果的更多相关文章

  1. winform动态的文字效果

    效果图如下

  2. CSS和JS两种颜色渐变文字效果代码

    js实现颜色渐变文字效果代码: <!-- js颜色渐变色文字 --> <div id="moml"> <div style="text-al ...

  3. css文字效果(文字剪贴蒙版,text-shodow的应用,文字排版等…)

    .katex { display: inline-block; text-align: initial; } .katex { font-family: Consolas, Inconsolata, ...

  4. CSS Gradient文字效果

    你想创建的标题没有渲染和Photoshop每个标题吗?这里是一个简单的CSS技巧向您展示如何创建渐变文字效果,PNG图像(纯CSS,没有Javascript或Flash).你所需要的是一个空的< ...

  5. 精通CSS+DIV网页样式与布局--CSS文字效果

    上篇文章,小编简单的介绍了一下CSS的一些基本语法,学习内容不是很复杂,都是CSS的一些入门知识,但是万丈高楼平地起,搭好地基,高楼大厦不在话下,学习任何课程,都必须从基础开始,一步一个脚印,踏实坚定 ...

  6. css伪类实现文字两侧划线效果

    css伪类实现文字两侧划线效果,效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <title> css伪类的学习 & ...

  7. css鼠标滑过出现文字效果

    模仿淘宝上鼠标移动到商品图片时,出现的文字效果. 1.效果图                                鼠标移动到粉红色的区域,则出现黄色部分. 2.代码 <!DOCTYPE ...

  8. CSS3动画:流彩文字效果+图片模糊效果+边框伸展效果实现

    前言 首先第一步,先布局html代码如下: <div class="wrap"> <img src="images/1.jpg" class= ...

  9. css实现动态阴影、蚀刻文本、渐变文本

    css实现动态阴影 创建与类似的阴影box-shadow 而是基于元素本身的颜色. 代码实现: <div class="dynamic-shadow-parent"> ...

随机推荐

  1. sublime运行Python

    1.首先安装Python 我这里安装的是Python的3.7版本. 这里有两种安装方式 第一种: 默认路径安装,勾选添加到path复选框(这种情况,sublime可以直接运行Python了) 第二种: ...

  2. The path "fos_user.from_email.address" cannot contain an empty value, but got null.

    The path "fos_user.from_email.address" cannot contain an empty value, but got null.. 修改 pa ...

  3. scala与java之间的那些事

    scala与java之间的关系,我认为可以用一句话来开头:scala来源于java,但又高于java. scala的设计者Martin Odersky就是一个JAVA控,这位牛人设计了javac和编写 ...

  4. SQL的优化1

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  5. LeetCode:删除排序链表中的重复元素【83】

    LeetCode:删除排序链表中的重复元素[83] 题目描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示 ...

  6. Android SDK上手指南 2:用户界面设计

    http://mobile.51cto.com/ahot-419184.htm 内容简介 我们将为应用程序项目添加布局方案,在这方面XML与Eclipse ADT接口将成为工作中的得力助手——不过在后 ...

  7. OJ 之 FATE

                                            - FATE Crawling in process... Crawling failed Time Limit:100 ...

  8. codevs1281 Xn数列

    题目描述 Description 给你6个数,m, a, c, x0, n, g Xn+1 = ( aXn + c ) mod m,求Xn m, a, c, x0, n, g<=10^18 输入 ...

  9. python第三篇:python、flask关系映射

    python中关系映射主要包括三种:一对多关系映射.一对一关系映射.多对多关系映射. 一对多关系映射 一方:Student(学生) 添加关联属性和反向引用 多方:Article(文章) 添加外键关联 ...

  10. BZOJ 2058 [Usaco2010 Nov]Cow Photographs:逆序对【环上最小逆序对】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2058 题意: 给你一个由1~n组成的排列,首尾相接围成一个环. 你可以任意次交换其中两个相 ...