首页 > 其他分享 >过渡和动画

过渡和动画

时间:2022-12-07 12:00:09浏览次数:27  
标签:动画 transform leave let 过渡 enter active ref

动画效果

<script setup>
    import {ref} from 'vue'
    let name=ref('test')
    let isShow=ref(true)
</script>
<template>
<button @click="isShow=!isShow">显示/隐藏</button>
<!-- 如果给transition加上name属性,那么对应的css属性中v-enter-active就得改成name的值
例如,name=“hello”,那么v-enter-active就变成hello-enter-active -->
<transition appear>
    <div v-show="isShow" >
        <h1>{{name}}</h1>
    </div>
</transition>
   
    
</template>
<style scoped>
   h1{
       background-color: blanchedalmond;
   }
   .v-enter-active{
       animation: an 1s;
   }
   .v-leave-active{
       animation: an 1s reverse;

   }
   @keyframes an{
       from{
           transform: translateX(-1000px);
       }
       to{
           transform: translateX(0px);
       }
   }
</style>

过度效果

<script setup>
    import {ref} from 'vue'
    let name=ref('test')
    let isShow=ref(true)
</script>
<template>
<button @click="isShow=!isShow">显示/隐藏</button>
<!-- 如果给transition加上name属性,那么对应的css属性中v-enter-active就得改成name的值
例如,name=“hello”,那么v-enter-active就变成hello-enter-active -->
<transition appear name="d">
        <h1 v-show="isShow">{{name}}</h1>
</transition>
   
    
</template>
<style scoped>
   h1{
       background-color: blanchedalmond;
   }
   .d-enter-active,.d-leave-active{
       transition: 1s linear;
   }
    .d-enter,.d-leave-to{
        transform: translateX(-100%);
    }
    .d-enter-to,.d-leave{
        transform: translateX(0);
    }

</style>

多个元素过度

<script setup>
    import {ref} from 'vue'
    let name=ref('test')
    let isShow=ref(true)
</script>
<template>
<button @click="isShow=!isShow">显示/隐藏</button>
<!-- 如果给transition加上name属性,那么对应的css属性中v-enter-active就得改成name的值
例如,name=“hello”,那么v-enter-active就变成hello-enter-active -->
<transition-group appear name="d">
        <h1 v-show="!isShow" key="1">你好</h1>
        <h1 v-show="isShow" key="2">welcome</h1>

</transition-group>
   
    
</template>
<style scoped>
   h1{
       background-color: blanchedalmond;
   }
   .d-enter-active,.d-leave-active{
       transition: 1s linear;
   }
    .d-enter,.d-leave-to{
        transform: translateX(-100%);
    }
    .d-enter-to,.d-leave{
        transform: translateX(0);
    }

</style>

第三方动画

<script setup>
    import {ref} from 'vue'
    import 'animate.css'
    let name=ref('test')
    let isShow=ref(true)
</script>
<template>
<button @click="isShow=!isShow">显示/隐藏</button>
<!-- 如果给transition加上name属性,那么对应的css属性中v-enter-active就得改成name的值
例如,name=“hello”,那么v-enter-active就变成hello-enter-active -->
<transition-group appear 
       
        name="animate__animated animate__bounce"
        enter-active-class="animate__swing"
        leave-active-class="animate__backOutLeft">
        <h1 v-show="!isShow" key="1">你好</h1>
        <h1 v-show="isShow" key="2">welcome</h1>

</transition-group>
</template>
<style scoped>
   h1{
       background-color: blanchedalmond;
   }
</style>

写法:
1.准备好样式:
元素进入的样式:
v-enter:进入的起点
v-enter-active:进入的过程中
v-enter-to:进入的终点
元素离开的样式:
v-leave:离开的起点
v-leave-actvie:离开的过程中
v-leave-to:离开的终点
2.谁需要用动画或者过度,则需要加上transition包裹

标签:动画,transform,leave,let,过渡,enter,active,ref
From: https://www.cnblogs.com/shuchenhao/p/16962678.html

相关文章

  • ReactNative入门 —— 动画篇(上)
    ReactNative入门——动画篇(上) 在不使用任何RN动画相关API的时候,我们会想到一种非常粗暴的方式来实现我们希望的动画效果——通过修改state来不断得改变视图上的样式......
  • UE4学习笔记23——【动画】Mixamo自动绑骨并导入虚幻4
    P61.Mixamo自动绑骨并导入虚幻4P61需要插件“MixamoAnimationRetargeting”(200多块......)(这节课就简单听听,以后用到了再看)(桥豆麻袋!不用买这个插件,这节课的东西也能......
  • CSS3弹窗动画效果
    自上到下.fadein{animation:fadein.5s;}@keyframesfadein{0%{transform:translate(0,-100%);}100%{transform:none......
  • uniapp实现css加载图标动画
    效果图:  <viewclass=""> <viewclass="spinner"> <viewclass="spinner-containercontainer1"> <viewclass="circle1"></view> ......
  • Android(Lollipop/5.0) Material Design(六) 自定义动画
    官网地址:https://developer.android.com/intl/zh-tw/training/material/animations.html动画在Material设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性。M......
  • 推荐 10个非常好用的 JavaScript 动画库!!!
    1.Tween.jsTweenJS 是一个简单的 JavaScript 补间动画库。能够很好的和 EaselJS 库集成,但也不依赖或特定于它。它支持渐变的数字对象属性和 CSS 样式属性。AP......
  • css3动画效果一览
     <divhs-animate-in-class="animate__animated${下面的动画库}"></div>         ......
  • 直观数学-3blue1brown动画的制作
    相信很多人都知道3Blue1Brown,这是一个由斯坦福大学的数学系学生GrantSanderson 创建的YouTube 频道。该频道从独特的视觉角度解说高等数学,内容包括线性代数、微积分、神......
  • Web入门:JavaScript文字动画
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用JavaScript实现文字逐步展现的动画效果。演示学习<!DOCTYPEhtml><htmllang="en"><head><metach......
  • #yyds干货盘点#前端开源动画库Lottie
    最开始前端开发动画时会使用gif图,但是从前端性能的角度来说,gif有以下弊端:GIF图片保存了每一帧的内容,因此造成图片很大;为解决图片过大的问题,大多数情况下都会采用压缩的方式......