问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用SVG 描边动画送一份平安夜祝福

发布网友 发布时间:2024-09-17 05:31

我来回答

1个回答

热心网友 时间:2024-11-26 14:26

今晚是平安夜,提前给大家送份祝福。

我做了一个 SVG 描边动画,效果是这样的:

SVG 是用 Illustrator 画的,苹果是手绘的。

我们来学习下它的实现原理。

SVG 是网页上画矢量图的技术,有 line(线)、polyline(折线)、polygon(多边形)、rect(矩形)、circle(圆形)、ellipse(椭圆)等图形,也可以通过 path 来描述任意的形状。

其中 M 是 moveTo,移动到某个位置开始画,L 是 lineTo,画一条直线,Z 是 closePath,完成绘制。

那我们需要用代码手画苹果和文字的 path 么?

不用,可以用 Illustrator 这种矢量绘图软件,它有钢笔、文字等各种绘图工具,用这些工具绘制完然后导出 SVG 就行。

SVG 可以设置两个方面的属性,一个是线条相关的,主要是 stroke,一个是填充相关的,主要是 fill。

stroke 相关的样式有 stroke-dasharray 来指定用虚线画。

比如 stroke-dasharray:10 20; 是虚线长度 10px,间隔 20px。

也可以用 stroke-dasharray 指定虚线的 offset,也就是偏移位置,往左偏移是正,往右是负。

比如 stroke-dashoffset: 1 就是往左偏移 1px。

这个 stroke-dashoffset,我们往左偏移全部的长度,然后再慢慢移动回原来位置,也就是 offset 由正数到 0,不就是描边的效果的呢?

这就是 SVG 描边动画的原理。

知道了这种动画要改变什么属性,那我们要用定时器自己去改变么?不用,可以用一些动画框架来修改属性值,比如 anime.js,它还支持设置时间函数,比如匀速、加速等。

我们来实现下吧。

首先准备 SVG,使用 Illustrator 来画:

使用文字工具写祝福的文字,然后选择“创建轮廓”,变成轮廓数据,导出 SVG。

苹果可以用钢笔手画,画完后变成 path 的形式,导出 SVG。

画好了 SVG 之后,我们实现动画效果:

给每个 path 加上一个 class,然后用 anime.js 来改变 stroke-dashoffset 实现描边的动画效果。

需要传入这些参数:

每个元素设置了不同的动画 delay 时间。

每个元素执行结束之后,判断时间,如果是已执行完动画的元素,就 fill 上颜色。

stokeDashOffset 的初始值是 SVG 的长度(向左偏移),然后慢慢变为 0(回到原点)。

我们来看一下实现效果。

总结:

SVG 描边动画原理简单,通过 stroke-dashoffset 属性值的变化实现描边效果,用 anime.js 可以实现动画。

希望这个动画能给你的平安夜带来欢乐,祝大家平安夜快乐,周五也快乐!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在线条形码生成 ie地址栏是什么 ie浏览器的官网地址是什么? 团餐定制电话 抖音电商与广东商务厅启动“富域计划” 简单的晚餐晒美食文案句子 简单的晚餐晒美食说说短句 鸭肉炒什么好吃家常做法 为什么越背越记不住 绯牡丹锦多久浇水 绯牡丹养护要点 收下这5个SVG编辑器,图形创作不用愁 HTML & SVG - 如何用 SVG 绘画? SVG实例入门与动画实战 svg入门详解(实例篇) 如何为小米WiFi驱动? 如何安装小米wifi驱动 解封微信号输错电话了怎么办 微信解封好友辅助验证操作介绍 微信电话号码填错了怎么办啊? ipad os系统占内存吗? 1000多元的眼镜被我弄断了我该怎么办该不该告诉爸妈? 刚刚配的眼镜坏了该不该给爸妈说 我把眼镜丢了 爸妈不给配怎么办 车贷迟还一天会有什么结果 子宫肌瘤可以做人工授精吗 高考志愿填报技巧有哪些呢? 华为Mate60Pro和华为P60Pro哪个好呢? 滴滴不付款有什么后果 华为mate60pro和p60pro哪个好华为mate60pro和p60pro对比【详解】 太阳能热水器如何连接探头接线? 万和热水器感温探头安装位置 ai基本功能ai软件基本功能使用方法 svg有哪些 王氏100个好听到爆的名字1480个,姓王好听的名字大全 在线等急 满意立即采纳谢谢 铁棒变成铁水,密度热值比热容的变化? python3.7? python3.7.9安装教程? 热值公式和比热容的公式的区别,说的详细点。为什么有的题求放出的热量... ubuntu22.04安装Python3.7(两种方法) 中午吃眉豆瘦肉粥会胖吗 眉豆瘦肉粥适合减肥期间吃吗 热量多少 眉豆和皮蛋瘦肉粥能一起煮吗 pythonidle3.7循环怎么跳出? 我姓王,名雪婷,女,双鱼座,想请大家帮我想一个好听的英文名字(希望... ...有没有康师傅或统一的代理之类的,本人在校学生想卖这些方便面... 肯德基的食品价格为什么那么高? 部落与弯刀黑暗祭坛在哪里 位置前往攻略 表格名称用加书名号么? 使用Linux系统移除文件夹的简单操作linux移除文件夹 著作权法对抄袭的认定是什么? 抄袭的法律怎么认定 抄袭怎样认定