欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SVG技術入門:線條動畫實現原理

系統 1975 0

相信大家都見到過這樣神奇的技術:一副線條構成的畫能自動畫出自己。非常的酷。Jake Archibald是這種SVG技術的首創者,并且寫了一篇非常好的文章來 描述它是如何實現的 。Brian Suda也在24 Ways網站上 討論過它 。 Polygon使用它在一篇設計方面的文章里創造出了 非常神奇的效果 。Codrops也做出了一些 非常漂亮的例子

?

其實我沒有什么好增補的,只是想把這種技術說的更明白些,所以,在這里我要用我的方式把這種技術再講解一遍。

?

1. 你有一個SVG圖形

SVG技術入門:線條動畫實現原理

?

2. 這個圖形必須要有一個線條(stroke)屬性

SVG技術入門:線條動畫實現原理

?

3. 線條可以是虛線

我們可以用Illustrator制作,也可以用編程實現。我們用CSS來設置這些路徑的樣式(假定我們這里是inline SVG,或通過一個 <object> ),把它們變成虛線形式。

      <svg ...>    <path class="path" stroke="#000000" ... >  </svg>

.path {
  stroke-dasharray: 20;
}
    

?

這是讓虛線里的每個小線段長度為20px。

SVG技術入門:線條動畫實現原理

4. 可以讓虛線小段的長度變得更長….

      .path {
  stroke-dasharray: 100;
}
    
SVG技術入門:線條動畫實現原理

?

5. 我們還可以給我們的線條設置”offset”偏移量,這樣會導致虛線里的小線段的位置發生移動。

當我們動態設置圖形中線條的“offset”值時,可以看到這個效果:

SVG技術入門:線條動畫實現原理
SVG技術入門:線條動畫實現原理

可以這樣簡單的實現:

      .path {
  stroke-dasharray: 100;
  animation: dash 5s linear;
}

@keyframes dash {
  to {
    stroke-dashoffset: 1000;
  }
}
    

?

?

6. 想象,當虛線的小線條足夠長,超過圖形的整個線條長度時

沒有什么變化,整個圖像看起來完全不是虛線。你只需要將 stroke-dasharray 屬性設置的足夠長,超過整個線條的長度。

?

7. 現在給線條設置偏移量,讓它不再覆蓋整個圖形。

這樣你就看不見圖形了。

?

8. 現在動態的慢慢將線條的偏移量設置回歸到0

SVG技術入門:線條動畫實現原理
SVG技術入門:線條動畫實現原理

如果通過CSS,你需要將 animation 屬性設置成 forwards ,這樣整個動畫就會停止在它的最終狀態。

      .path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: dash 5s linear forwards;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}
    

?

?

Tada!

?

為什么要用JavaScript?

大部分你看到的SVG線條動畫都使用了JavaScript。這是因為在現實情況中你很難知道線條有多長。我們這里設置的是 1000 ,是因為它碰巧是1000。

用JavaScript獲取長度值的寫法是這樣的:

      var path = document.querySelector('.path');
var length = path.getTotalLength();
    

?

?

然后你就可以隨便使用這個值了。文本頂部鏈接的那些文章講的都比本文透徹,你最好還是參考一下那些文章。我只想簡單的講一下這種技術方法,希望它能給你一些啟示。

(英文: How SVG Line Animation Works .)

?

原文: http://www.webhek.com/how-svg-line-animation-works

本文: SVG技術入門:線條動畫實現原理

SVG技術入門:線條動畫實現原理


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人三级视频 | 成年人在线观看 | 午夜资源| 久久永久免费中文字幕 | 久草网址 | 激情福利视频 | 色老头xxxwww作爱视频 | 欧美日韩国产综合网 | 久久国产精品精品国产 | 欧美les免费观看网站 | 久草在线视频网 | 九九99热久久精品在线9 | 久久综合九色 | 冯绍峰个人资料 | 亚洲国产一区二区三区四区 | 日本久久久久久久 | 色婷婷视频 | 精品福利在线视频 | 亚洲午夜电影 | 国产精品久久久久无毒 | 天天干网| 午夜影皖普通区 | 日韩精品 电影一区 亚洲 | 亚洲视频一区在线 | 欧美国产伦久久久久 | 综合网天天射 | 欧美视频大全 | 久久只有这才是精品99 | 欧美精品久久久久久久久老牛影院 | www.9p234.com| 国产麻豆一区二区三区 | 欧美v在线 | 一级毛片片 | 黄色免费一级播放片 | 婷婷激情五月综合 | 国产 一区| 91精品观看91久久久久久 | 一级片黄色免费 | 午夜成人免费视频 | 漂流教室在线观看 | 天天操操|