您的位置:首页 > 产品设计 > UI/UE

[原]浅谈vue过渡动画,简单易懂

2017-06-26 17:22 429 查看

在vue中什么是动画

开始先啰嗦一下,动画的解释(自我理解😢)

在一个标签里面的类容,我们视觉看到它,这时候,这个标签以什么形式出现,中间变化了什么,并且以什么形式消失,是有一个过渡的存在的方式,我叫做动画

(不是那种干出,干消失哈😁,大神原谅我粗糙的说辞\(^o^)/~)

闲言碎语不多讲,上干货了

在vue中,提供给我们一个很好写过渡动画的内置组件transition

基本用法就是给我们需要动画的标签外面嵌套transition标签,并且给上属性,起码name不要忘了

<transition name="fade">
<!-- 需要动画的div标签 -->
<div></div>
</transition>


这时候,我们命名了这个动画的名字叫fade

vue给动画配置了4个类名来控制动画的变化自由

[b]v-enter: 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。[/b]

[b]v-enter-active: 定义进入过渡的结束状态。在元素被插入时生效,在 transition/animation 完成之后移除。[/b]

[b]v-leave: 定义离开过渡的开始状态。在离开过渡被触发时生效,在下一个帧移除。[/b]

[b]v-leave-active: 定义离开过渡的结束状态。在离开过渡被触发时生效,在 transition/animation 完成之后移除。[/b]

下面,我给你看一下动画运行的解释的图



现在上这几个类名代码了此时动画配置就完成了

/* 开始过渡阶段,动画出去阶段 */
.fade-enter-active,.fade-leave-active{
transition: all 0.5s ease-out;
}
/* 进入开始 */
.fade-enter{
transform: translateY(-500px);
opacity: 0;
}
/* 出去终点 */
.fade-leave-active{
transform: translateY(500px);
opacity: 0;
}


开始时候 动画透明度为0,并且在Y轴的-500px的位置,(all是css只要改变就发生变化),中间控制动画运行总时长0.5秒,并且以ease-out曲线形式发生动画样子,最后出时候透明度为0

并且跑到在Y轴的500px的位置

这就是说,这个动画用0.5s以ease-out曲线形式从Y轴-500px到+500px!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: