标签:ini nes 属性 log -o default blog length mat
git: https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/path
这个动画实现的是线条动画,主要用到的是 SVG 的 path 标签。
试用 <path> 标签的 d 属性标识路径集合,勾画线条的形状。
例如:
<svg width="300" height="300" version="1.2" xml:space="default"> <path d="M0 0 L150 100 V200 H100" stroke="#f00" stroke-width="1"/> </svg>
定义SVG线条,除了使用 d 属性定义路径外,还需要用到两个重要的属性, stroke-dasharray 和 stroke-dashoffset, 这两个属性值可以在 path 标签上定义,也可以在样式表中定义。
svg代码如下:
<svg width="500" height="200" version="1.2" xml:space="default"> <path id="path" d="M0,150c0,0,0-61,72-44c0,0-47,117,81,57s5-110,10-67s-51,77.979-50,33.989" stroke="#f00" stroke-width="1" stroke-dasharray="4px,2px" stroke-dashoffset="10px" fill="none"/> </svg>
定义 css3 的 animation,通过改变 path 标签的 stroke-dasharray 或 stroke-dashoffset 值来使路径动起来。
path 路径的长度可使用 js 的 document.getElementById(‘path’).getTotalLength() 来获得。
css 代码如下:
#path{ -webkit-animation:slide 2s linear infinite; } @keyframes slide { 0%{ stroke-dasharray:0 511px; /* 511px 为整个路径的长度 */ } 100%{ stroke-dasharray:511px 511px; } }
css 代码如下:
#path{ stroke-dasharray:511px 511px; -webkit-animation:slide2 2s linear infinite; } @keyframes slide2 { 0%{ stroke-dashoffset:511px; } 100%{ stroke-dashoffset:0px; } }
参考资料: http://www.alloyteam.com/2017/02/the-beauty-of-the-lines-break-lines-svg-animation/
标签:ini nes 属性 log -o default blog length mat
原文地址:http://www.cnblogs.com/zourong/p/6677094.html