本文主要为大家带来一篇简单谈谈vue的过渡动画(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考,希望能帮助到大家。
在vue中,实现过渡动画一般是下面这样:
登录后复制
用一个transition对元素或者组件进行封装.
在过渡的时候,会有 4 个(CSS)类名在 enter/leave 的过渡中切换。
立即学习“前端免费学习笔记(深入)”;
1.v-enter: 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。
2.v-enter-active: 定义进入过渡的结束状态。在元素被插入时生效,在 transition/animation 完成之后移除。
3.v-leave: 定义离开过渡的开始状态。在离开过渡被触发时生效,在下一个帧移除。
4.v-leave-active: 定义离开过渡的结束状态。在离开过渡被触发时生效,在 transition/animation 完成之后移除。
上面是官方文档的原话,但是这4个类名如何运用呢?下面看个例子
css:.example { width: 100px; height: 100px; transform: translate3d(0, -100px, 0);}.fold-enter-active, .fold-leave-active { transition: all .5s;}.fold-enter, .fold-leave-active { transform: translate3d(0, 0, 0);}
登录后复制
当show = true时:
这里的fold-enter,是在元素显示的一瞬间被加入,然后瞬间被移除,在上面的例子中,example这个块状元素本来因为有了transform: translate3d(0, -100px, 0)这个样式,所以被上移了100px,但是因为fold-enter,所以将example这个块状元素移到了原位,但是fold-enter因为瞬间就被移除掉了,所以这时候的元素的样式又变成了transform: translate3d(0, -100px, 0),但是这时候fold-enter-active这个样式就生效了,因为设置了transition: all .5s,所以元素会在0.5s的时间内上移100px,在过渡动画结束之后,fold-enter-active这个类马上被移除.
当show = false时:
example不会马上消失,这个时候fold-leave-active这个类就起作用了,example这时的位置是在-100px,fold-leave-active定义的是过渡的结束状态:transform: translate3d(0, 0, 0);,但是同时又设置了transition: all .5s,所以这时元素会在0.5s的时间内下移100px.之后fold-leave-active被移除.
官网的一张图
另外,还可以在动画中调用js钩子函数:
登录后复制
不过用的不多,可以在methods中定义这些方法.
相关推荐:
CSS3中过渡动画怎么使用
利用transtion实现过渡动画
纯CSS3带过渡动画特效的分页条ui设计效果
以上就是vue过渡动画详解的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2788989.html