使用vue来做一些小巧的动画效果是非常方便的,今天本人想使用vue的transition来完成一个滑动过渡效果,这里和大家分享一下。
直接上源代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue滑动效果</title> <style> .d { position: absolute; border: 1px solid red; width: 30px; height: 30px; } @keyframes show { 0% { opacity: 0; left: 32px; } 100% { opacity: 1; left: 0; } } @keyframes hide { 0% { opacity: 1; left: 0; } 100% { opacity: 0; left: -32px; } } .show-enter-active { animation: show 1.2s; } .show-leave-active { animation: hide 1.2s; } .show-enter, .show-leave-to { opacity: 0; } .wrap { position: relative; width: 32px; height: 32px; } </style> <script src="/UploadFiles/2021-04-02/vue.min.js">这里需要注意的是父级使用relative,子级使用absolute进行定位,利用left值来进行位置的控制移动。这里如果使用transform的话,由于之前的div有一个渐变的消失过程,这个过程中他的位置一直有存在,造成了后面的div无法正确移动到对应位置,所以使用absolute更好。
实在不行可以使用transition的mode属性,设置成out-in,先让前者完成动画,让占据的位置完全消失,使得下一个div可以正常运动,不过这种方式只能先后完成动画,不能同时完成动画。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。