遇到的一个移动端从下往上过渡的弹框,在Android下过渡动画的优化问题。

优化之前:

 1 /* 分享弹框样式 */
 2 .popUpDiv {
 3     width: 100vw;
 4     height: 100vh;
 5     transition: all 0.5s ease;
 6     position: fixed;
 7     left: 0;
 8     transform: translate3d(0, 0, 0);
 9     background: url('../images/boxshare.png') no-repeat center center;
10     background-size: 100% 100%;
11     -webkit-backface-visibility:hidden;
12     -moz-backface-visibility:hidden;
13     -ms-backface-visibility:hidden;
14     backface-visibility:hidden;
15     -webkit-perspective:1000;
16     -moz-perspective:1000;
17     -ms-perspective:1000;
18     perspective:1000;
19     z-index: 10;
20   }
21   .popUpDiv1 {
22     bottom: -100vh;
23   }
24   .popUpDiv2 {
25     bottom: 0;
26   }
1 <div @click="sharePopUp" class="popUpDiv" :class="{ popUpDiv2 :isShare, popUpDiv1 :!isShare}"></div>

原来打算动态控制bottom属性的值,来通过transition过渡来实现弹框从页面底部弹出。

这样在PC端是没什么问题的。在IOS上动效也是很流畅。 但是到了Android系统就崩了,过渡动画过程中会有抖动,字体模糊现象!!!

那么如何解决这个问题呢?

在移动端通过控制top,right,bottom,left的值,来实现过渡是存在这个问题的,并且并不建议transition属性值写为all

可以通过transition: transform 0.5s ease;  设置tansform的过渡效果来实现需求。再通过控制transform: translateY(100vh); 来实现dom元素的移动。

优化之后:

 1 .popUpDiv {
 2     width: 100vw;
 3     height: 100vh;
 4     transition: transform 0.5s ease;
 5     position: fixed;
 6     left: 0;
 7     top: 0;
 8     margin-bottom: -100vh;
 9     transform: translate3d(0, 0, 0);
10     background: url('../images/boxshare.png') no-repeat center center;
11     background-size: 100% 100%;
12     -webkit-backface-visibility:hidden;
13     -moz-backface-visibility:hidden;
14     -ms-backface-visibility:hidden;
15     backface-visibility:hidden;
16     -webkit-perspective:1000;
17     -moz-perspective:1000;
18     -ms-perspective:1000;
19     perspective:1000;
20     z-index: 10;
21   }
22   .popUpDiv1 {
23     transform: translateY(100vh);
24   }
25   .popUpDiv2 {
26     transform: translateY(0);
27   }

 

这样在Android就变的很流畅了!!!

转载于:https://www.cnblogs.com/lml2017/p/9968320.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值