使用SVG + CSS实现动态霓虹灯文字效果
效果图:

原理:多个SVG描边动画使用不同的animation-delay即可!
对于一个形状SVG元素或文本SVG元素,可以使用stroke-dasharray来控制描边的间隔样式,并且可以用stroke-dashoffset来控制描边的偏移量,借此可以实现描边动画效果,更具体的资料可以看看张大神的《纯CSS实现帅气的SVG路径描边动画效果》
我们先实现一个简单的文字描边动画:
<svg width="100%" height="100">
<text text-anchor="middle" x="50%" y="50%" class="text">
segmentfault.com
</text>
</svg>
.text{
font-size: 64px;
font-weight: bold;
text-transform: uppercase;
fill: none;
stroke: #3498db;
stroke-width: 2px;
stroke-dasharray: 90 310;
animation: stroke 6s infinite linear;
}
@keyframes stroke {
100% {
stroke-dashoffset: -400;
}
}
演示地址:http://output.jsbin.com/demic...
然后我们同时使用多个描边动画,并设置不同的animation-delay:
<svg width="100%" height="100">
<text text-anchor="middle" x="50%" y="50%" class="text text-1">
segmentfault.com
</text>
<text text-anchor="middle" x="50%" y="50%" class="text text-2">
segmentfault.com
</text>
<text text-anchor="middle" x="50%" y="50%" class="text text-3">
segmentfault.com
</text>
<text text-anchor="middle" x="50%" y="50%" class="text text-4">
segmentfault.com
</text>
</svg>
注意:要使用多少种颜色,就放多少个text
.text{
font-size: 64px;
font-weight: bold;
text-transform: uppercase;
fill: none;
stroke-width: 2px;
stroke-dasharray: 90 310;
animation: stroke 6s infinite linear;
}
.text-1{
stroke: #3498db;
text-shadow: 0 0 5px #3498db;
animation-delay: -1.5s;
}
.text-2{
stroke: #f39c12;
text-shadow: 0 0 5px #f39c12;
animation-delay: -3s;
}
.text-3{
stroke: #e74c3c;
text-shadow: 0 0 5px #e74c3c;
animation-delay: -4.5s;
}
.text-4{
stroke: #9b59b6;
text-shadow: 0 0 5px #9b59b6;
animation-delay: -6s;
}
@keyframes stroke {
100% {
stroke-dashoffset: -400;
}
}
大功告成,演示地址:http://output.jsbin.com/vuyuv...

需要注意的几个点:
- 各个元素的animation-delay与animation的总时长的设置要协调
- stroke-dashoffset与stroke-dasharray的设置要协调
转自:https://segmentfault.com/a/1190000010963326
使用SVG + CSS实现动态霓虹灯文字效果的更多相关文章
- winform动态的文字效果
效果图如下
- CSS和JS两种颜色渐变文字效果代码
js实现颜色渐变文字效果代码: <!-- js颜色渐变色文字 --> <div id="moml"> <div style="text-al ...
- css文字效果(文字剪贴蒙版,text-shodow的应用,文字排版等…)
.katex { display: inline-block; text-align: initial; } .katex { font-family: Consolas, Inconsolata, ...
- CSS Gradient文字效果
你想创建的标题没有渲染和Photoshop每个标题吗?这里是一个简单的CSS技巧向您展示如何创建渐变文字效果,PNG图像(纯CSS,没有Javascript或Flash).你所需要的是一个空的< ...
- 精通CSS+DIV网页样式与布局--CSS文字效果
上篇文章,小编简单的介绍了一下CSS的一些基本语法,学习内容不是很复杂,都是CSS的一些入门知识,但是万丈高楼平地起,搭好地基,高楼大厦不在话下,学习任何课程,都必须从基础开始,一步一个脚印,踏实坚定 ...
- css伪类实现文字两侧划线效果
css伪类实现文字两侧划线效果,效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <title> css伪类的学习 & ...
- css鼠标滑过出现文字效果
模仿淘宝上鼠标移动到商品图片时,出现的文字效果. 1.效果图 鼠标移动到粉红色的区域,则出现黄色部分. 2.代码 <!DOCTYPE ...
- CSS3动画:流彩文字效果+图片模糊效果+边框伸展效果实现
前言 首先第一步,先布局html代码如下: <div class="wrap"> <img src="images/1.jpg" class= ...
- css实现动态阴影、蚀刻文本、渐变文本
css实现动态阴影 创建与类似的阴影box-shadow 而是基于元素本身的颜色. 代码实现: <div class="dynamic-shadow-parent"> ...
随机推荐
- pom.xml配置文件详解(转发)
setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和li ...
- CentOS iSCSI服务器搭建------Initiator篇
服务器信息: [root@initiator ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@initiator ~]# un ...
- python基础7 ---python函数
python基础知识 一.闭包函数 1.闭包函数的定义:在一个内部函数中,在对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包. 2.闭包函数的特点:自带作用域和延迟计算 补 ...
- Linux Shell 下的输出重定向
linux 环境中支持输入输出重定向,用符号<和>来表示. 0.1和2分别表示标准输入.标准输出和标准错误信息输出, 可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表 ...
- 【leetcode刷题笔记】Next Permutation
Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...
- vim 的visual可视模式
一,在普通模式下面可以按v或者V进入可视模式下,选择内容: v 可以选择光标位置到光标结束的字符,包括行: V 选择光标位置行到光标结束的所在行的之间的所有行,选择的是个矩形: CTRL+v 选择块:
- Spark- 计算每个学科最受欢迎的老师
日志类型 测试数据 http://bigdata.myit.com/zhangsan http://bigdata.myit.com/zhangsan http://bigdata.myit.com/ ...
- CV2图像操作
一.读入图像使用函数cv2.imread(filepath,flags)读入一副图片filepath:要读入图片的完整路径flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入一 ...
- 在线编辑代码[django]版本
再国内,做什么都这么吃力.连aliyun 的ssh 都被封这是什么世道,所以做一个在线编辑代码的忙忙碌碌有点粗糙.大家见谅1. [代码]views.py #-*- coding:utf-8 -*- ...
- 分享知识-快乐自己:Maven 无法加载 Oracle 数据库驱动源
由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 手动添加到本地仓库需要本地有 ...