《Vue3 七》Vue 中的动画

Vue 提供了一些内置组件和对应的 API 来完成动画,利用它们可以方便地实现动画效果。

<transition> 内置组件:

Vue 提供了 <transition> 内置组件,可以给任意元素或组件添加进入/离开时的动画效果。在条件渲染、动态组件、改变 key 属性时将会触发。

主要针对单个元素或组件。

transition 过渡动画:

<!-- 给 <div> 元素的显示与隐藏添加过渡动画 -->
<template>
  <!-- 2. 使用 <transition> 包裹想要添加动画的元素,Vue 会在恰当的时机将编写好的类自动添加、移除  -->
  <transition>
    <div v-if="isShow">Hello Vue</div>
  </transition>
  <button @click="handleChange">切换</button>
</template>

<script setup>
import {ref} from 'vue'
const isShow = ref(false)
const handleChange = () => {
  isShow.value = !isShow.value
}
</script>

<style scoped>
/* 1. 编写想要的动画的类 */
/* 进入前的状态 */
.v-enter-from, 
/* 离开后的状态 */
.v-leave-to {
  opacity: 0;
}

/* 进入后的状态  */
.v-enter-to,
/* 离开前的状态 */
.v-leave-from {
  opacity: 1;
}

/* 进入时的效果 */
.v-enter-active,
/* 离开时的效果 */
.v-leave-active {
  transition: opacity 1s ease;
}
</style>  

在这里插入图片描述

animation 序列帧动画:

<!-- 给 <div> 元素的显示与隐藏添加 animation 动画 -->
<template>
  <!-- 2. 使用 <transition> 包裹想要添加动画的元素,Vue 会在恰当的时机将编写好的类自动添加、移除  -->
  <transition>
    <div v-if="isShow">Hello Vue</div>
  </transition>
  <button @click="handleChange">切换</button>
</template>

<script setup>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值