在 vue 中往往需要添加动画,但是并不像 JQ 一样可以比较容易的添加,经常我会避免使用动画,这样就不用考虑了,但是在类似轮播图中,还是需要动画效果
动画样式
1234567891011121314 |
.slider-enter-active { transform: translateX(0); transition: all 1s ease;}.slider-leave-active { 大专栏 vue的过渡动画transform: translateX(-100%); transition: all 1s ease;}.slider-enter { transform: translateX(100%);}.slider-leave { transform: translateX(0);} |
定义
.slider-enter-active 和.slider-enter 是相关的,enter 定义了动画开始的状态,而 enter-active 在元素被插入时生效,动画结束后移除,定义了动画过度的状态,时间和运动曲线
同样的 leave 和 leave-active,只不过是动画结束时的定义
隐藏的 boss
还有一个.slider-enter-to(leave 也有相同的),是在元素被插入后一帧生效,同时 slider-enter 将被删除,定义了过度结束后的状态,在动画结束后被移除
效果
图片进入时从 translateX 轴-100%的地方进入,到 0%的时候停止,用时 1 秒
图片消失的时候从 0%的位置移动到-100%消失,用时 1 秒
绑定
用 transition-group 来包裹多个元素,用 transition 来包裹一个,并用 name 来命名,需要 name 后的名字和 css 样式中的统一
name=”slider”,那么 css 中就要 .slider-leave 需要统一
原文地址:https://www.cnblogs.com/lijianming180/p/12433470.html
时间: 2024-11-05 22:03:07