zoukankan      html  css  js  c++  java
  • SVG描边动画实现过程

    准备工具:Adobe AI+PS

    1、确定SVG画布的大小,在PS中切出需要描边效果的区域,以此区域的大小做为SVG容器的大小。
     
    2、将PS中切好的图片直接拖拽到AI中
     
     
    3、使用AI中的钢笔工具勾勒出SVG路径,注意要将前景色置透明,否则路径包围的区域将会被前景色填充。使用钢笔工具可适当多添加些锚点,以保证路径的精确。
     
     
     
    4、笔画多的路径需要分开绘制,以上图中的“留”字为栗子
     
     
     
    5、重复上面步骤,将所有添加描边效果的部位勾勒出来
     
     
    6、在AI中将钢笔工具勾勒好的路径保存成 SVG 格式      File → Save As  选择SVG格式保存
     
     
     
     
     
     
     
     
     
    7、打开刚刚保存好的 SVG 文件,就得到了 SVG 的路径代码
     
     
     
     
    8、将获得到的路径代码按需稍加修改,其中描边的颜色和描边的宽度可在AI中绘制的时候设置好,也可在生成的代码中按需修改。
     
     

    9、CSS3 SVG描边动画及实现原理,依赖两个属性stroke-dasharray和stroke-dashoffset
    stroke-dasharray 表示虚线描边。可选值为:none, dasharray, inherit. 其中,none表示不是虚线;dasharray为一个逗号或空格分隔的数值列表。表示各个虚线端的长度。可以是固定的长度值,也可以是百分比值;inherit表继承。
    stroke-dashoffset 表示虚线的起始偏移。可选值为:percentage, length, inherit. 百分比值,长度值,继承。
    原理就是将描边设置虚线,stroke-dasharray的数值与路径长度一致或者大于路径长度即可,需尝试确定,路径长的话就给个大点的值,路径短就给个小点的值,效果满意即可。
    然后再设置路径的偏移量stroke-dashoffset与stroke-dasharray的值一样的大即可,然后添加定义好的动画,将偏移量从样式中设置好的数值过渡到0,就实现了描边的效果。

     
    /**********SVG描边动画**********/
    
    @include keyframes(dash, webkit moz ms spec){
        to {
            stroke-dashoffset: 0;
        }
    }
    /**********SVG描边动画**********/
    
    path,rect{
        stroke-dasharray: 400;
        stroke-dashoffset: 400;
        @include animation(dash 1.5s ease-in-out 1);
        &.p-long{
            stroke-dasharray: 2000;
            stroke-dashoffset: 2000;
            @include animation(dash 1.5s ease-in-out 1);
        }
    }

    10、描边效果

    11、后续处理,通过 js 控制SVG效果执行完成之后将包裹着SVG的DIV隐藏起来,再将正常的设计稿样子显示出来。
    这样就实现了先是看到SVG的路径动画,动画执行之后看到真实内容的效果了~
     
     
     
  • 相关阅读:
    代码题(22)— 二叉树镜像、相同的树 、对称二叉树
    代码题(26)— 不同路径
    代码题(25)— 最大子序和、最长上升子序列
    Linux 基本命令总结
    C++(五)— 控制保留小数位数
    C++(四)— 字符串、数字翻转3种方法
    代码题(24)— 寻找重复数、数组中重复的数据、找到所有数组中消失的数字
    代码题(23)— 数组中的最长山脉
    【vue】vue +element 搭建项目,将js函数变成vue的函数
    【vue】vue +element 搭建项目,$createElement使用
  • 原文地址:https://www.cnblogs.com/moreyear/p/9100439.html
Copyright © 2011-2022 走看看