• safari: css:解决translate时移动的元素闪烁(safari 15.5)


    一,解决translate时移动的元素闪烁:

    1,问题的表现:

    mac版safari,在div有transform translate动画滑动时会发生闪烁(或者说是闪动,有黑影闪过)

    另外滑动的div达到一定长度才有这个现象:

    640px x 3的长度没有此问题,1280px x 3的长度时有此问题

    2,问题的解决:

    -webkit-backface-visibility: hidden;应用于移动元素
    -webkit-transform: translate3d(0, 0, 0);应用于其所有子元素,
    移动时的闪烁会消失

    3,参考的文档:

    https://stackoverflow.com/questions/3461441/prevent-flicker-on-webkit-transition-of-webkit-transform

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/
             或: https://gitee.com/liuhongdi

    说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,演示代码

    html代码:

          <div id="viewport" class="viewport" style="300%;-webkit-backface-visibility: hidden;">
            <div id="page_left" data-num="0" class="pageview" 
    style
    ="height:896px;position:absolute;left:0px;-webkit-transform: translate3d(0, 0, 0);"> <div class="content_final" id="content_left" style="1280px;height:896px;color:#ffffff;" > </div> </div> <div id="page_middle" data-num="1" class="pageview"
    style
    ="height:896px;position:absolute;left:1280px;-webkit-transform: translate3d(0, 0, 0);"> <div class="content_final" id="content_middle" style="1280px;height:896px;color:#ffffff;"> </div> </div> <div id="page_right" data-num="2" class="pageview"
    style
    ="height:896px;position:absolute;left:2560px;-webkit-transform: translate3d(0, 0, 0);"> <div class="content_final" id="content_right" style="1280px;height:896px;color:#ffffff;"> </div> </div> </div>

    js代码:

            dest_offset = pageWidth*2;
            //console.log("==================page_go_right:dest_offset:"+dest_offset);
            //滑动到中间
            var time=0.5;
            document.getElementById('viewport').style.webkitTransition = 'all ' + time + 's ease-in-out';
            document.getElementById('viewport').style.webkitTransform = 'translate(-'+dest_offset+'px, 0)';

    三,查看safari的版本:

  • 相关阅读:
    数据库备份,全备份、增量备份与恢复
    虚拟机扩容---续集(热扩容)
    虚拟机扩容
    Linux下R环境安装
    OLAP、OLTP的介绍CBO/RBO
    CRC校验(转)
    产品经理必读的30本书单(转)
    xcode6 下 ios simulator 有 Home 键么?
    如果我可以重新学习iOS开发(转)
    按位与、或、异或等运算方法(转)
  • 原文地址:https://www.cnblogs.com/architectforest/p/16773802.html
Copyright © 2020-2023  润新知