Vue中transition和animation的使用

一:二者的对比

1.动画循环就用animation。在animation中有一个animation-iteration-count属性可以定义循环次数。transition是执行一次以后就不会执行,但是可以通过transitionEnd事件添加循环,与animation相比animation更加简单明了。

2.自动触发用animation。当页面中的动画是自己执行的那么我们考虑用animation,因为transition是需要借助伪类、js、@madia触发的。常见的伪类是:hover ,:focus。 常见的js就比如click事件。@media可以用于页面缩小到1000px你可以展示你需要的动画。

3.复杂的动画用animation。在遇到很复杂的动画那就用animation。因为animation可以定义关键帧。那你就可以控制每一帧的动画效果。简单的动画效果可以用transition,里面有transition-timing-function属性可以展示动画的速度效果。

二.用transition实现Vue动画

1.在目标元素外包裹<transition name="xxx">

<div id="test">
    <button @click="isShow=!isShow">toggle</button>
   <transition name="xxx">
       <p v-show="isShow">hello</p>
   </transition>
</div>

2.定义class样式

指定过渡样式

 /*显示、隐藏时的过渡效果*/
        .xxx-enter-active,.xxx-leave-active{
            transition: opacity 1s;
        }

 

隐藏样式

/*隐藏时的样式*/
        .xxx-enter,.xxx-to{
            opacity: 0;
        }

transition和animation的用法基本相同,但一般在项目中transition用的以较多

.xxx-enter-active{
            animation: bounce-in .5s;
        }
        .xxx-levave-active{
            animation: bounce-in .5s reverse;
        }
        @keyframes bounce-in {
            10%{
                transform: scale(0);
            }
            50%{
                transform: scale(1.5);
            }
            100%{
                transform: scale(1);
            }
        }

 

转载于:https://www.cnblogs.com/muzi1024/p/10604302.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值