欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 成年人在线播放视频 | 亚洲黑人在线观看 | 久久精品小视频 | 可以看的毛片 | 欧美精品一区在线 | 国产福利资源在线 | 特级生活片 | 久久成人在线视频 | 久热草在线 | 免费观看一级黄色片 | 四虎影片国产精品8848 | 妖精视频永久在线入口 | 精精国产xxxx视频在线 | 91在线观看视频 | 欧美一区二区三区爽大粗免费 | 另类五月天 | 亚洲资源在线 | 国产日韩欧美 | 精品午夜寂寞影院在线观看 | 奇米在线播放 | 欧美第一网站 | 日产乱码卡1卡2卡三免费 | 成人福利小视频 | 日韩福利在线 | 日本www.在线中文字幕 | 国产成人精品福利站 | 国产精品v欧美精品∨日韩 一级免费黄色免费片 | 久久精品视频99 | 中文字幕 欧美 日韩 | 国产欧美精品一区二区三区四区 | 久草视频免费看 | 成人免费影院 | 欧美视频在线一区二区三区 | 免费高清成人啪啪网站 | 日本一视频一区视频二区 | 国产美女福利视频福利 | 欧美人成片免费看视频不卡 | 欧美日韩一区二区三区视频播 | 大片毛片 | 久草精品在线 | 亚洲一区视频在线 |