页面左右切换,上下切换的css代码
过渡的页面需要使用绝对定位否则页面会在跳转时错位
- push是页面向下一层跳转时的过渡效果
- pop是页面向上一层跳转时的过渡效果
Hi!Charles -- 技术博客,致力于最新技术,前端、后端、移动端开发。涉及html5、react、python、node、qt、linux、vps、ios、android、单片机等多种技术类型
移动端页面切换css动画
CSS
页面左右切换,上下切换的css代码
过渡的页面需要使用绝对定位否则页面会在跳转时错位
push是页面向下一层跳转时的过渡效果
pop是页面向上一层跳转时的过渡效果
.page {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.push-enter {
-webkit-animation: moveInUp 0.6s both;
animation: moveInUp 0.6s both;
}
.push-leave {
-webkit-animation: moveOutDown 0.6s both;
animation: moveOutDown 0.6s both;
}
.pop-enter {
-webkit-animation: moveInDown 0.6s both;
animation: moveInDown 0.6s both;
}
.pop-leave {
-webkit-animation: moveOutUp 0.6s both;
animation: moveOutUp 0.6s both;
}
@-webkit-keyframes moveInLeft {
0% {
z-index: 10;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
80%,
100% {
z-index: 10;
-webkit-transform: translateX(none);
-moz-transform: translateX(none);
-o-transform: translateX(none);
transform: translateX(none);
}
}
@-webkit-keyframes moveInRight {
0% {
z-index: 20;
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
80%,
100% {
z-index: 20;
-webkit-transform: translateX(none);
-moz-transform: translateX(none);
-o-transform: translateX(none);
transform: translateX(none);
}
}
@-webkit-keyframes moveOutLeft {
0% {
z-index: 10;
display: block;
}
80% {
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
opacity: 1;
}
100% {
z-index: 10;
display: none;
opacity: 0;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
}
}
@-webkit-keyframes moveOutRight {
0% {
z-index: 20;
display: block;
}
80% {
opacity: 1;
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
100% {
z-index: 20;
opacity: 0;
display: none;
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
}
@-webkit-keyframes moveInUp {
0% {
z-index: 20;
-webkit-transform: translateY(100%);
-moz-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
80%,
100% {
z-index: 20;
-webkit-transform: translateY(none);
-moz-transform: translateY(none);
-o-transform: translateY(none);
transform: translateY(none);
}
}
@-webkit-keyframes moveOutDown {
0% {
z-index: 10;
display: block;
}
80% {
opacity: 1;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
100% {
z-index: 10;
opacity: 0;
display: none;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
}
@-webkit-keyframes moveInDown {
0% {
z-index: 10;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
80%,
100% {
-webkit-transform: translateY(none);
-moz-transform: translateY(none);
-o-transform: translateY(none);
transform: translateY(none);
}
}
@-webkit-keyframes moveOutUp {
0% {
z-index: 20;
display: block;
}
80% {
opacity: 1;
-webkit-transform: translateY(100%);
-moz-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
100% {
opacity: 0;
display: none;
-webkit-transform: translateY(100%);
-moz-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
}