看了別人網站的svg動畫以爲很是舒服,本身嘗試實現一下 效果以下:css
實現須要明白2個關於svg的css屬性svg
stroke-dasharray: <percentage> | <length> | inherit
數與數之間用逗號或者空白隔開,指定短劃線和缺口的長度。如stroke-dasharray:30 20;
,效果以下:動畫
stroke-dasharray:50;
若是爲一個值那麼短劃線和缺口同樣長網站
stroke-dashoffset: <percentage> | <length> | inherit
指定了dash模式到路徑開始的距離,也就是偏移量 若是不寫stroke-dasharray
屬性,stroke-dashoffset
屬性就算寫出花也看不到效果的。 stroke-dasharray:50;stroke-dashoffset:25px
效果以下設計
這條線向左移動了25px3d
再試一下 stroke-dasharray:200; stroke-dashoffset:0px
code
而後動畫讓stroke-dashoffset
的值由0變爲200動畫就出來了cdn
最後附上開篇放大鏡的地址 放大鏡blog
動畫實際上是由stroke-dashoffset
的值變化實現的,每一個線條動畫實際上是無限個缺口其中的一個,只不過其餘的都在svg外面被隱藏起來了。得到每條path或者其餘線條的長度(能夠找設計要(捂臉)),把stroke-dasharray
和stroke-dashoffset
的值都設置爲線條長度,這時候線條會消失,再用動畫把stroke-dashoffset
設置爲0就ok了。get
本篇如能對您有所幫助,實在是感到榮幸。若有不合理之處也請你們多多指點