弹窗从右向左进入
<transition name="moveR"></transition><style lang="scss"> .moveR-enter-active, .moveR-leave-active { transition: all 0.3s linear; transform: translateX(0); } .moveR-enter, .moveR-leave { transform: translateX(100%); } .moveR-leave-to{ transform: translateX(100%); }</style>
弹窗从左向右进入
<transition name="moveL"></transition><style lang="scss"> .moveL-enter-active, .moveL-leave-active { transition: all 0.3s linear; transform: translateX(0%); } .moveL-enter, .moveL-leave { transform: translateX(-100%); } .moveL-leave-to { transform: translateX(-100%); }</style>
注意:在根节点的样式里不要加transform:translateX()属性,否则过渡会失效。例:
<template> <transition name="moveL"> <div class="rotating" v-if="rotatShowStatus"> </div> </transition></template><style lang="scss">.rotating { position: absolute; top: 0; left: 58px; height: 100%; width: 300px; z-index: 998; /*transform: translateX(0%);*/ //加了这个属性 过渡动画会失效 transition: all 0.3s; background-color: #041a2e; }</style>