Web 動畫週報,一週一刊,每週一發布。讓咱們來一塊兒聊聊 Web 動畫,和它們背後的故事。ios
本期亮點:Jon Kantner 爲咱們帶來了他最新的 Three.js 小遊戲《高速公路競賽》,控制本身的汽車,一塊兒在高速公路上飛馳吧!注意不要撞車哦。canvas
週報將 Web 動畫大體分爲三類:CSS 動畫、SVG 動畫 和 WebGL/Canvas 動畫。全部的動畫將按類別展現,方便讀者有針對性的學習。post
transform
完成了一個帶有三維錯覺的動畫。影子的巧妙使用很大程度上加強了 3D 的感受。
border
畫的,在動的屬性是 z 方向的位移,經過給每一個圓圈設置不一樣的
animation-delay
實現相似彈簧的動畫效果。
<div>
元素。做者還使用了
filter: drop-shadow()
這個 CSS 濾鏡讓流星看起來有在發光的感受。
filter: drop-shadow()
的做用跟
box-shadow
很類似:都是爲元素添加陰影。可是
filter: drop-shadow()
做爲 CSS 濾鏡效果的一種,相比於
box-shadow
的好處就是在這個濾鏡下的全部元素都會被添加上陰影,這樣咱們就不須要像
box-shadow
那樣一個一個的去加了。
background-clip: text
這個屬性的使用。在設置這個屬性以前,動畫長這個樣子:
因此這個屬性的做用就是讓背景從字裏面透出來,而後把除了字以外的背景遮蓋住。在沒有這個屬性以前咱們利用
clip-path
也能夠製做出一樣的效果,不過會複雜不少。而這個屬性就是爲這類動畫而生的,因此使用起來很簡便。
canvas 2d
環境中製做的 3D 視覺動畫。做者利用投影矩陣在 2D 平面上繪製出了 3D 物體。其實全部的 3D 庫 (好比Three.js) 都使用到了投影矩陣來構築三維世界,只不過都被封裝過了因此使用者感覺不到。在這個動畫中,做者在 canvas 中實現了一個本身的投影矩陣。
fragment shader
將像素點進行位移,從而完成的火焰效果。
這一期的 Web 動畫週報就到這裏啦。若是你對週報有什麼意見或者建議,歡迎在下方留言。你也能夠向週報投稿,投稿的方式是把本身的動畫的 Codepen 連接發送到週報下面的評論裏便可。Web 動畫週報,一週一刊,每週一發布,咱們下週見!學習