zoukankan      html  css  js  c++  java
  • 遇到的一个移动端从下往上过渡的弹框,在Android下过渡动画的优化问题。

    优化之前:

     1 /* 分享弹框样式 */
     2 .popUpDiv {
     3      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      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就变的很流畅了!!!

  • 相关阅读:
    leetcode 268. Missing Number
    DBSCAN
    python二维数组初始化
    leetcode 661. Image Smoother
    leetcode 599. Minimum Index Sum of Two Lists
    Python中的sort() key含义
    leetcode 447. Number of Boomerangs
    leetcode 697. Degree of an Array
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月3日)
    北京Uber优步司机奖励政策(1月2日)
  • 原文地址:https://www.cnblogs.com/lml2017/p/9968320.html
Copyright © 2011-2022 走看看