利用H5SVG实现线性动画效果

效果图

这里写图片描述

原理

主要应用到了SVG的两个属性分别为: stroke-dasharray和stroke-dashoffset.

stroke-dasharray

strokedasharray属性用于创建虚线:下面来看看例子

        path{
            stroke: #000;
            fill: transparent;
            stroke-width: 2px;
            stroke-dasharray: 10;
        }
    </style>
</head>
<body>
    <svg width=500 height=500>
        <path d="M 100 100 L 200 100"/>
    </svg>

效果:


这里写图片描述

,当我们尝试增大stroke-dasharray时效果:


这里写图片描述

会发现放我们增大它的值时, 其中间的空白会变大吗,因此当我们把它设置成线长时并通过stroke-dashoffset就可以隐藏再通过CSS3就可以实现动画效果.

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        img{
            border:0;
        }
        ol, ul ,li{list-style: none;}
        path{
            stroke: #000;
            fill: transparent;
            stroke-width: 2px;
            stroke-dasharray: 10;
/*             stroke-dashoffset: 100;
            animation: dash 1s linear infinite alternate-reverse; */
        }
        @keyframes dash {
            to {
              stroke-dashoffset: 0;
            }
        }

    </style>
</head>
<body>
    <svg width=500 height=500>
        <path d="M 100 100 L 200 100"/>
    </svg>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,909评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • svg无疑是现在前端比较热门的图形格式,且很实现很多动画效果,以下发布的,为svg描边效果的教程。 自己虽然有cs...
    泱泱悲秋阅读 4,956评论 5 13
  • 过去的已经发生,未来的都在变化,只有当下是最难能可贵。前面很流行的一句口号:活在当下。我虽然知道这个理,却不明白什...
    墨翼城阅读 495评论 1 2
  • 人生的航程,不会总是一帆风顺,有风也有雨,才能承载生命的厚重,风轻云淡,才适合静静的领悟,给自己一个放松心情的理由...
    闲情岁月阅读 387评论 0 1