使用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"> ...
随机推荐
- sublime运行Python
1.首先安装Python 我这里安装的是Python的3.7版本. 这里有两种安装方式 第一种: 默认路径安装,勾选添加到path复选框(这种情况,sublime可以直接运行Python了) 第二种: ...
- 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 ...
- scala与java之间的那些事
scala与java之间的关系,我认为可以用一句话来开头:scala来源于java,但又高于java. scala的设计者Martin Odersky就是一个JAVA控,这位牛人设计了javac和编写 ...
- SQL的优化1
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- LeetCode:删除排序链表中的重复元素【83】
LeetCode:删除排序链表中的重复元素[83] 题目描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示 ...
- Android SDK上手指南 2:用户界面设计
http://mobile.51cto.com/ahot-419184.htm 内容简介 我们将为应用程序项目添加布局方案,在这方面XML与Eclipse ADT接口将成为工作中的得力助手——不过在后 ...
- OJ 之 FATE
- FATE Crawling in process... Crawling failed Time Limit:100 ...
- 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 输入 ...
- python第三篇:python、flask关系映射
python中关系映射主要包括三种:一对多关系映射.一对一关系映射.多对多关系映射. 一对多关系映射 一方:Student(学生) 添加关联属性和反向引用 多方:Article(文章) 添加外键关联 ...
- BZOJ 2058 [Usaco2010 Nov]Cow Photographs:逆序对【环上最小逆序对】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2058 题意: 给你一个由1~n组成的排列,首尾相接围成一个环. 你可以任意次交换其中两个相 ...