Slide 1

Slide 1 text

VueでのCSSアニメーションの話 @daitasu 1 We Are Javascripters @30th 2019-03-22

Slide 2

Slide 2 text

Name: @daitasu 2 Job: Frontend-Engineer Company: PERSOL Community: YOUTH TECH

Slide 3

Slide 3 text

3 YOUTH TECH https://youthtechtokyo.peatix.com/ 20代 × IT

Slide 4

Slide 4 text

Vueを使うときの CSSアニメーションについて 4

Slide 5

Slide 5 text

通常のCSSアニメーション 5 ・animationプロパティと@keyframesを使う ・cssだけでアニメーションできる ・animationプロパティでnameを指定 ・@keyframesで始点と終点の状態を決める

Slide 6

Slide 6 text

CSSアニメーション 8つのプロパティ 6 ・animation-name: @keyframesに使う名前 ・animation-duration: 継続時間 ・animation-timing-function: 進行の度合 ・animarion-delay: 始まるまでの時間 ・animation-iteration-count: 繰り返し回数 ・animation-direction: 再生方向 ・animation-fill-mode:        開始/終了時のスタイル指定 ・animation-play-state: 再生・停止を指定

Slide 7

Slide 7 text

CSSアニメーション 8つのプロパティ 7 ・animation: 8つのプロパティの一括指定もできる

Slide 8

Slide 8 text

Vueでtransitionする際はEnter/Leaveを使う 8

Slide 9

Slide 9 text

Vueを使った場合のCSSアニメーション 9 ・コンポーネントの描画/消滅時に自動でclassが追加 ・v-if/v-showや動的コンポーネントなどの切り替え時

Slide 10

Slide 10 text

Vue Transitionの6つのclass 10 コンポーネントの挿入時, 削除時の各状態で6つのclassが付与される ・v-enter: enterの開始状態 ・v-enter-active: enterの活性状態 ・v-enter-to: enterの終了状態 ・v-leave: leaveの開始状態 ・v-leave-active: leaveの活性状態 ・v-leave-to: leaveの終了状態

Slide 11

Slide 11 text

Custom transition class 11 6つのclassは指定したclass名でオーバーライドできる 他のanimationライブラリと組み合わせる特に便利 ・enter-class ・enter-active-class ・enter-to-class ・leave-class ・leave-active-class ・leave-to-class

Slide 12

Slide 12 text

Vue transitionが向いてないもの 12 状態のtransition ・ 常に表示され続けるもの ・ class名の変化 ・位置やサイズが変化するもの ・ 数値計算によるデータ変化

Slide 13

Slide 13 text

Javascript Hook 13 ・ Enter/Leaveの各タイミングでメソッド呼び出しができる ・ DOM要素を直接操作可能

Slide 14

Slide 14 text

jsライブラリと組み合わせる 14 円運動など凝った動きができる (Velocity.jsと組み合わせた場合)

Slide 15

Slide 15 text

他にも色々... 15 ・ transition group ・ transition mode 公式Docのサンプルが豊富

Slide 16

Slide 16 text

ところで... 16 これなにかに似てないですか?

Slide 17

Slide 17 text

ところで... 17 これなにかに似てないですか?

Slide 18

Slide 18 text

ところで... 18 これなにかに似てないですか?

Slide 19

Slide 19 text

ところで... 19 これなにかに似てないですか? 原子核

Slide 20

Slide 20 text

20 元素記号表

Slide 21

Slide 21 text

21 作ってみた

Slide 22

Slide 22 text

22 デモ

Slide 23

Slide 23 text

23 原子、走ります

Slide 24

Slide 24 text

24 Atoms Dash!! ・Atomic DesignでAtomを作ってみたかった ・Nuxt.js + Vuetify (フロントのみ) ・キャラクター選択で好きな原子を選べる ・うねうねしながら走る(障害物レース) ・当たり判定などがまだ出来てないためまだ未公開

Slide 25

Slide 25 text

25 Coming Soon ... 4月くらいにQiita書くのでよかったら遊んでください !!