D3方式:

原文: https://segmentfault.com/a/1190000000453579

通过这个方式,总是出现误差,首先是尾部被显示,然后消失,最后头部开始出现动画

解释一下:其实两个实现的原理是一样的,都是使用了一点小技巧,分别使用css3.0和D3的动画改变svg:path的stroke-dasharray和stroke-dashoffset属性值,其中前一属性把path变成一条虚实相间的线,后一属性决定这条虚实相间线的起始位置,技巧是把虚实相间的间隔设置到超过整条Path长度,以上我取了1000

stroke-dasharray和stroke-dashoffset。

第一个属性设置虚线的间隔长度,让它等于自己本身,就是隐藏本身,在通过第二个属性(线段的偏移量),

通过不断增加和减少这个属性,使得线段慢慢出来。从而有了动画的效果。

 

 

CSS:方式:

js获得长度

组合css