前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >svg描边绘制动画实现方式

svg描边绘制动画实现方式

作者头像
用户1097444
发布2022-06-29 15:38:05
1.5K0
发布2022-06-29 15:38:05
举报
文章被收录于专栏:腾讯IMWeb前端团队

0写在前面

这篇文章主要讲利用SVG来实现web页面上的描边绘制动画的两种原理。同时涉及到从AI软件导出SVG的方法。

1案例效果

扫光效果和描边效果,如图:

2SVG的导出方法

首页需要设计师做一个相同或者等比文字矢量图,也就是AI文件。

用AI打开文件之后利用左侧工具栏里的“直接选择工具”,全选之后右击“转化成复合路径”,然后菜单里选择“将文档存储为SVG”。

这样导出来的就是path路径代码了。如图所示:

举例:

导出之后的代码片段,比如案例“hello”代码片段里有些属性是AI软件自动生成的,我们可以提取到CSS里调用。

简化之后的SVG代码片段为:

 CSS代码片段:

当然边框颜色可以随心所欲的更改喽!

这样SVG的路径导出过程就已经完成了,下一步就可以利用CSS编写样式和动画效果了。

3动画实现的两种原理

在这里我们需要运用:

stroke-dashoffset和stroke-dasharray两个属性: stroke-dashoffset属性是指虚线的起始偏移量。 stroke-dashoffset说明

stroke-dasharray属性指虚线段的样式(实线段长度、间隔段长度) stroke-dasharray说明

这个两种原理呢。

也就是利用CSS改变stroke-dashoffset或者stroke-dasharray,即一种是虚线线段不变的情况下改变偏移量,另一种是偏移量不变的情况下改变虚线线段长度。

通过下面两张gif图就能看出两个属性的区别了。

stroke-dashoffset

stroke-dasharray

原理一、通过改变stroke-dashoffset

css代码片段:

原理二、通过改变stroke-dasharray

css代码片段:

获取路径的长度方法

最后这里需要说明一下css代码片段。

其中“633”为实例中“hello”路径的长度,通过document.querySelectorAll("path")[xxxxxxxxxx].getTotalLength()可以获取路径长度。

-------------------------------------------------------

通过这两种原理,通过结合CSS3动画就能做出炫酷的扫光效果了,让slogen焕发光彩!

技术文章结束啦,轻松一刻,小编送上!

可爱的宋民国,希望大家多多关注我们呦!

扫码下方二维码,

随时关注更多前端干货文章!

微信:IMWebTech

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯IMWeb前端团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0写在前面
  • 1案例效果
  • 2SVG的导出方法
  • 3动画实现的两种原理
    • 原理一、通过改变stroke-dashoffset
      • 原理二、通过改变stroke-dasharray
        • 获取路径的长度方法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档