SVG动画实践篇-字母切换
git: https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/letter.change
说明
这个页面实现了两个动画。
字母切换
字母切换的方式通过修改 stroke-dasharray 的值来实现动画。是从无到有的动画。
css 代码如下:
.txt{
stroke:#FFEB3B;
stroke-width:2px;
-webkit-animation:animate1 3s ease-in-out forwards;
}
@keyframes animate1{
0%{
stroke-dasharray:0% 30%;
}
80%{
stroke-dasharray:50% 0%;
fill:#E91E63;
}
100%{
stroke-dasharray:50% 0%;
fill:#FFEB3B;
}
}
html 代码如下:
<svg version="1.2" xml:space="default">
<symbol id="letter">
<text x="38%" y="50%">A</text>
</symbol> <g>
<use xlink:href="#letter" class="txt"></use>
</g>
</svg>
数字切换
数字切换的方式是通过修改 path 路径来实现动画。是直接修改 path 的路径。
css 代码如下:
.path{
-webkit-animation:animation2 10s ease-in-out infinite;
}
@keyframes animation2 {
0%,
7% {
d: path('M0,100 L50,100 L50,50 L50,0 L0,0 L0,50 L50,50')
}
11%,
17% {
d: path('M0,0 L50,0 L50,100 L0,100 L0,0 L0,50 L50,50')
}
21%,
27% {
d: path('M0,0 L50,0 L50,20 L50,40 L50,60 L50,80 L50,100')
}
31%,
37% {
d: path('M50,0 L0,0 L0,50 L0,100 L50,100, L50,50 L0,50')
}
41%,
47% {
d: path('M50,0 L0,0 L0,50 L25,50 L50,50 L50,100 L0,100')
}
51%,
57% {
d: path('M0,0 L0,50 L50,50 L50,0 L50,35 L50,70 L50,100')
}
61%,
67% {
d: path('M0,0 L50,0 L50,100 L0,100 L50,100 L50,50 L0,50')
}
71%,
77% {
d: path('M0,0 L50,0 L50,50 L25,50 L0,50 L0,100 L50,100')
}
81%,
87% {
d: path('M50,0 L50,15 L50,30 L50,45 L50,60 L50,75 L50,100')
}
91%,
96% {
d: path('M0,0 L50,0 L50,50 L50,100 L0,100 L0,25 L0,0')
}
}
html 代码如下:
<svg version="1.2" xml:space="default">
<path class="path" fill="none" stroke="#FFEB3B" stroke-width="2px" d="M0,0 L50,0 L50,50 L50,100 L0,100 L0,25 L0,0"></path>
</svg>
参考资料: http://www.alloyteam.com/2017/02/the-beauty-of-the-lines-break-lines-svg-animation/
SVG动画实践篇-字母切换的更多相关文章
- SVG动画实践篇-模拟音量高低效果
git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/demo/step2/volumn 说明 这个动画的效果就是多个线条 ...
- SVG动画实践篇-无中生有的线条动画
git: https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/path 说明 这个动画实现的是线条动画,主要用 ...
- SVG动画实践篇-音量变化效果
git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/volumn 说明 这个动画的效果就是多个线 ...
- SVG动画
动画原理 SVG动画,就是元素的属性值关于时间的变化. 如下图来说,元素的某个属性值的起始值(from)到结束值(to)在一个时间段(duration)根据时间函数(timing-function)计 ...
- 推荐8个实现 SVG 动画的 JavaScript 库
SVG 是一种分辨率无关的图形(矢量图形).这意味着它在任何类型的屏幕都不会遭受任何质量损失.除此之外,你可以让 SVG 灵活现一些动画效果.这篇文章就给大家推荐8个实现 SVG 动画的 JavaSc ...
- 使用 SVG 动画实现弹性的页面元素效果
Codrops 分享了一些给SVG元素加上弹性动画的灵感.实现的思路是把一个SVG元素整合成一个组件,然后从一个路径弹性动画到另一个.这种效果可以应用到像菜单,按钮或其它元素,使得交互更有趣,看起更原 ...
- Walkway.js – 用线条制作简约的 SVG 动画
Walkway.js 是一个使用线条和路径元素组成 SVG 动画图像的简单方法.只需根据提供的配置对象创建一个新的 Walkway 实例就可以了.这种效果特别适合那些崇尚简约设计风格的网页.目前, W ...
- 带给你灵感:30个超棒的 SVG 动画展示【上篇】
前端开发人员和设计师一般使用 CSS 来创建 HTML 元素动画.然而,由于 HTML 在创建图案,形状,和其他方面的局限性,它们自然的转向了 SVG,它提供了更多更有趣的能力.借助SVG,我们有更多 ...
- 带给你灵感:30个超棒的 SVG 动画展示【下篇】
前端开发人员和设计师一般使用 CSS 来创建 HTML 元素动画.然而,由于 HTML 在创建图案,形状,和其他方面的局限性,它们自然的转向了 SVG,它提供了更多更有趣的能力.借助 SVG,我们有更 ...
随机推荐
- ACM-ICPC 2018 徐州赛区网络预赛 B. BE, GE or NE
In a world where ordinary people cannot reach, a boy named "Koutarou" and a girl named &qu ...
- Linux网络编程:客户端/服务器的简单实现
一. Socket的基本知识 1. socket功能 Socket层次 Socket实质上提供了进程通信的端点,进程通信之前,双方必须首先各自创建一个端点,否则是没有办法建立联系并相互通信的. 每一个 ...
- while else语句
#else 用于检测循环中间是否有被打断count = 0while count <=5: print('loop',count) count +=1else: print('程序正常执行完毕, ...
- shell批量修改文件名
[root@localhost file1]# ls a.htm b.htm c.htm d.htm pl.sh [root@localhost file1]# vi pl.sh #!/bin/bas ...
- C++ 指针的小知识
看个小例子: char* fun1(){ char * p = (char*)malloc(100); p = "helloww"; return p;} void fun2(ch ...
- Leetcode34--->Search for a Range(在排序数组中找出给定值出现的范围)
题目:给定一个排序数组,找出给定的target值出现的范围:算法复杂度要求在O(logn);如果没有找到,则返回[-1, -1]; 举例: For example,Given [5, 7, 7, 8, ...
- 全套Office办公软件WORD/PPT/EXCEL视频教程 每日更新中
详情见Processon分享链接:https://www.processon.com/view/link/5b3f40abe4b09a67415e2bfc
- [已解决]使用 apt-get update 命令提示 ...中被配置了多次
报错:W: 目标 Sources (main/source/Sources) 在 /etc/apt/sources.list:2 和 /etc/apt/sources.list:7 中被配置了多次 v ...
- struts2和spring的两种整合方式
首先,来看看如何让Spring 来管理Action. 在struts.xml中加入 <constant name="struts.objectFactory" value=& ...
- NuGet安装本地包命令行
尝试安装本地的NuGet包. 键入 "get-help NuGet" 可查看所有可用的 NuGet 命令. install-package Polly.Net40Async-Sig ...