vue4-过渡动画 组件

本文详细介绍了Vue.js中的过渡和动画,包括CSS过渡、CSS动画、自定义过渡类名以及JavaScript钩子的使用。重点讲解了组件的创建、全局与私有组件的区分、组件切换的多种方式及动画应用,以及组件间的数据传递和事件通信。同时,还提到了如何利用ref获取DOM元素和子组件的方法。
摘要由CSDN通过智能技术生成

1.vue中的过渡和动画

参考 https://cn.vuejs.org/v2/guide/transitions.html#CSS-过渡
其他第三方 CSS 动画库:Animate.css 。。。。

1.css过渡

1.1类名

在这里插入图片描述

在这里插入图片描述

1.2样式定义:

在这里插入图片描述

1.3使用方法

在这里插入图片描述

<transition name="ballTrans" >
<!-- v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" -->
<div class="ball" v-if="show" ></div>
</transition>




.ballTrans-enter{
    opacity:0;
    transform: translate(100px,100px);
}
.ballTrans-leave-to{
    opacity:0;
    transform: translate(100px,100px);
}
.ballTrans-enter-active{
    transition: cubic-bezier(1.0, 0.5, 0.8, 1.0) 1s  All;
    -webkit-transition:cubic-bezier(1.0, 0.5, 0.8, 1.0) 1s  All;
    -moz-transition: cubic-bezier(1.0, 0.5, 0.8, 1.0) 1s  All;
}
.ballTrans-leave-active{
    transition: ease 2s  All;
    -webkit-transition:ease 2s  All;
    /* -moz-transition:ease 6s  All; */
}

2.css 动画 @keyframes

.bounce-enter-active {
  animation: 名称  5s;
}
.bounce-leave-active {
  animati
Vue.js 提供了一种灵活的方式来添加动画效果,其淡入淡出和位移是常见的视觉过渡。在 Vue ,你可以使用第三方库如 `vue-animate`、`v-enter-active` 或直接使用 CSS 和 Vue 的 `v-show`、`v-if` 结合 `transition` 或 `v-enter`、`v-leave` 来实现这些效果。 1. **淡入淡出**(Fade in/out): 在 Vue ,你可以使用 `v-enter` 和 `v-leave` 修饰符配合 CSS 过渡(`transition`)来实现元素的淡入淡出效果。例如: ```html <template> <div class="fade" v-enter="fadeIn" v-leave="fadeOut"> 这是一个动态组件 </div> </template> <script> export default { methods: { fadeIn() { this.$el.style.opacity = 0; }, fadeOut() { this.$el.style.opacity = 0; setTimeout(() => { this.$el.style.display = 'none'; }, 300); } } } </script> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s ease; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 在这个例子,`.fade-enter-active` 和 `.fade-leave-active` 设置了淡入淡出的过渡效果,`.fade-enter` 和 `.fade-leave-to` 是状态开始和结束时的样式。 2. **位移**(Position transition): 如果你想让元素在淡入淡出的同时还有位置移动,可以在 CSS 里定义 `transform: translate()` 并结合过渡效果。例如: ```css .fade-translate-enter-active, .fade-translate-leave-active { transition: all 0.5s ease; } .fade-translate-enter { transform: translateY(100px); } .fade-translate-leave-to { transform: translateY(0); } ``` 在上述代码,`.fade-translate-enter` 和 `.fade-translate-leave-to` 别设置了进入和离开时的初始和结束位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值