カスタムトランジションクラスとAnimate.cssを用いてアニメーションを実装する!
はじめに
カスタムトランジションクラスとAnimate.cssを用いてアニメーションを実装する方法について備忘録として記載していきます。
カスタムトランジションクラス
今回利用するカスタムトランジションクラス
は任意のクラス名を組み込みのトランジションクラスのように使いたいときに利用します。
利用方法
利用方法は割と単純でtransition
タグに以下のように特定のカスタムトランジションクラス
を用意し、その中に任意のクラス名
を入れます。各トランジションクラスについてはそれぞれ組み込みのトランジションクラスの意味と同様です。
<template> <transition enter-from-class="任意のクラス名" enter-active-class="任意のクラス名" enter-to-class="任意のクラス名" leave-from-class="任意のクラス名" leave-active-class="任意のクラス名" leave-to-class="任意のクラス名" > </transition> </template>
Enter & Leave トランジション | Vue.js
以上を用いてサンプルを作ってみる
それでは以上を用いてサンプルコードを作ってみます。
今回はおはようボタン
をクリックし、あいさつ文が現れたり消えたりする内容にします。文字が現れる際はAnimate.cssのbounce
モーションが、文字が消える際はAnimate.cssのflash
モーションが適用されるようにしていきます。
Animate.cssはanimate__animated animate__動作
のようにクラス名をセットすることで利用が出来ます。
<template> <button @click="show = !show">おはようボタン</button> <transition enter-active-class="animate__animated animate__bounce" leave-active-class="animate__animated animate__flash" > <div v-if="show">{{ greetMessage }}</div> </transition> </template> <script> export default { data() { return { greetMessage: "Good Morning!", show: true, }; }, }; </script>
<template> <morning></morning> </template> <script> import Morning from "./components/Morning.vue"; export default { components: { Morning }, }; </script>
結果
以下のように文字が現れる際はbouce
が、消える際はflash
が適用されていることが分かります。
おわりに
今回Vue.jsの勉強をしていて偶然Animate.cssを見つけたのですが、これとても便利ですね!
今後アニメーションを実装したいと思った際はこちらをぜひ使ってみようと思います!!