参考
.fullScreenLeftOn {
/* animation-duration: 1s; */
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-left-on
}
@keyframes slide-left-on {
0% {
opacity: 0;
transform: translateX(-31rem)
}
100% {
opacity: 1;
transform: translateX(0)
}
}
.fullScreenLeftOff {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-left-off
}
@keyframes slide-left-off {
0% {
opacity: 1;
transform: translateX(0)
}
100% {
opacity: 0;
transform: translateX(-31rem)
}
}
.durationZero {
animation-duration: 0s;
}
.durationOne {
animation-duration: 1s;
z-index: 3000;
}
.fullScreenRightOn {
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-Right-on
}
@keyframes slide-Right-on {
0% {
opacity: 0;
transform: translateX(31rem)
}
100% {
opacity: 1;
transform: translateX(0)
}
}
.fullScreenRightOff {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-Right-off
}
@keyframes slide-Right-off {
0% {
opacity: 1;
transform: translateX(0)
}
100% {
opacity: 0;
transform: translateX(31rem)
}
}
.fullScreenLeftToolOn {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-left-Tool-on
}
@keyframes slide-left-Tool-on {
0% {
transform: translateX(-30rem)
}
100% {
transform: translateX(0)
}
}
.fullScreenLeftToolOff {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-left-Tool-off
}
@keyframes slide-left-Tool-off {
0% {
transform: translateX(0)
}
100% {
transform: translateX(-30rem)
}
}
.fullScreenRightToolOn {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-right-Tool-on
}
@keyframes slide-right-Tool-on {
0% {
transform: translateX(30rem)
}
100% {
transform: translateX(0)
}
}
.fullScreenRightToolOff {
/*animation-duration: 1s;*/
animation-timing-function: ease-out;
animation-fill-mode: both;
animation-name: slide-right-Tool-off
}
@keyframes slide-right-Tool-off {
0% {
transform: translateX(0)
}
100% {
transform: translateX(30rem)
}
}
使用
<div :class="{
'page-left': left.split('rem')[0] < 50,
'page-right': left.split('rem')[0] > 50,
'durationOne': true,
'fullScreenLeftOn': left.split('rem')[0] < 50 && entrance,
'fullScreenLeftOff': left.split('rem')[0] < 50 && !entrance,
'fullScreenRightToolOn': left.split('rem')[0] > 50 && entrance,
'fullScreenRightToolOff': left.split('rem')[0] > 50 && !entrance,
}"
<div>