npm install vue npm install vue-transition
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-transition@latest"></script>
<transition>
element. The following example shows a basic transition effect: <template> <div> <button @click="toggle">Toggle</button> <transition name="fade"> <p v-if="show">Hello Vue!</p> </transition> </div> </template> <script> export default { data() { return { show: false }; }, methods: { toggle() { this.show = !this.show; } } }; </script> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style>
show
attribute through the click event of a button. When show
is true
, the <p>
label is displayed, otherwise it is hidden. The <transition>
element provides a transition effect, and the class name of the transition effect is specified through the name
attribute. <p>In the above CSS code, the .fade-enter-active
and .fade-leave-active
classes specify the duration and animation type of the transition effect. The .fade-enter
and .fade-leave-to
classes set the styles of the initial state and end state. <p>3. Advanced transition effects<p>In addition to the basic fade in and fade out effects, Vue's transition effects also support more animation types, such as sliding, rotating, etc. The following is an example of using Vue to achieve a sliding effect: <template> <div> <button @click="toggle">Toggle</button> <transition name="slide" mode="out-in"> <div v-if="show" key="content"> <p>Hello Vue!</p> </div> <div v-else key="placeholder"></div> </transition> </div> </template> <script> export default { data() { return { show: false }; }, methods: { toggle() { this.show = !this.show; } } }; </script> <style> .slide-enter-active, .slide-leave-active { transition: all 0.5s; } .slide-enter, .slide-leave-to { transform: translateX(100%); } .slide-leave-active { position: absolute; } </style>
mode
attribute to control the order of the transition. By setting mode
to out-in
, it means that the current element is left first, and then the next element is inserted. <p>In CSS, the .slide-enter-active
and .slide-leave-active
classes set the transition effect through the transition
attribute Duration and animation type. The .slide-enter
and .slide-leave-to
classes use the transform
attribute to achieve the sliding effect. <p>4. Dynamic transition effects<p>In addition to the above static transition effects, Vue also provides dynamic transition effects. Dynamic transition effects can decide whether to apply transition effects based on changes in data. <p>The following is an example of using Vue to achieve dynamic transition effects: <template> <div> <button @click="toggle">Toggle</button> <transition name="fade" :css="false" mode="in-out" v-if="show"> <p>Hello Vue!</p> </transition> </div> </template> <script> export default { data() { return { show: false }; }, methods: { toggle() { this.show = !this.show; } } }; </script> <style> .fade-leave-active { transition: opacity 0.5s; } .fade-leave, .fade-enter { opacity: 0; } </style>
v-if
directive< ;transition>
Showing and hiding of elements. At the same time, disable Vue's automatic CSS transition by setting the :css="false"
attribute. In CSS, you only need to define the .fade-enter
and .fade-leave
classes.
<p>Summary
<p>This article introduces how to use Vue to implement transition animation effects and provides specific code examples. Use Vue's transition effects to add dynamic effects to your web pages, improving user experience and visual appeal. In actual use, you can flexibly use Vue's transition effects to create a unique interface effect according to your own needs and creativity. I hope this article is helpful to you, and I wish you good results when using Vue transition effects! The above is the detailed content of How to use Vue to implement transition animation effects. For more information, please follow other related articles on the PHP Chinese website!