CSS动画(转换:Y轴旋转180度;)工作完美,除了在iOS上的Chrome

zzzyeukh  于 2023-02-01  发布在  iOS
关注(0)|答案(2)|浏览(173)

长期用户,第一次张贴。
动画在PC和iPhone Firefox/Safari上运行完美,但在iPhone Chrome上不能。(最新)。
动画似乎只是捕捉到结束位置后,动画的持续时间。我没有得到它的工作短暂,但我认为这是由于它缓存了我的CSS的旧版本。我不知道哪一个或什么是不同的。点是我知道它可以工作。
任何帮助都非常感谢。我尽我所能清理了代码。工作代码到处都有注解。代码还有一点,但这是它的核心。
也在运行Bootstrap4以获取信息。

$(".flip-card-inner").on('click mouseenter', function () {
    // $(this).css("animation-play-state", "initial"); // pause Y axis rotate
    // $(this).css("animation-play-state", "paused");

    $("div.link").each(function(index) {
    $(this).delay(150*index).slideDown("fast");

    $(".flip-card-inner").addClass('fliptoback');

    });
});
body {
  height:100vh; 
  background-color: #3a4757;
  background-image: url("img/grey_wash_wall.png");
  background-blend-mode: hard-light;
  background-size: 25%;
}

.flip-card {
  background-color: transparent;
  width: 100%;
  height: 200px;
  border-radius: .7rem ;
  border-color: black;
  -webkit-perspective: 500px;
  perspective: 500px;   
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    -webkit-transition: -webkit-transform; 
    transition: transform;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}

.flip-card-front {
  background-color: #181E25;
  background-image: url("img/brushed.jpg");
  background-blend-mode: multiply;
  background-size:25%;
  border-radius: .7rem ;
  border-color: #181E25;
  color: white;
 }
  
  /* Style the back side */
.flip-card-back {
    background-color: #181E25;
    background-image: url("img/brushed.jpg");
    background-blend-mode: multiply;
    background-size:25%;
    border-radius: .7rem ;
    border-color: #181E25;
    color: white;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    }

.fliptoback{
  animation-name: yaxis;
  animation-duration: .5s;
  animation-fill-mode: forwards; 
}

@keyframes yaxis {
  from   {
    transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
} 
  to {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="flip-card">
  <div class=" flip-card-inner" >
    <div class=" flip-card-front" >
      <p>this is the front</p>
    </div>
    <div class=" flip-card-back" >
      <p>this is the back</p>
    </div>
  </div>
</div>
<div class="brandbox">
<h3 class="text-center text-light font-weight-light mt-3 text-uppercase">BRAND</h3>

        </div>
    
<div class="link text-light border border-light text-uppercase">
            Website
</div>
xmq68pz9

xmq68pz91#

重新启动了Chrome,现在工作正常,我想尖叫。

q3qa4bjr

q3qa4bjr2#

我在使用CSS关键帧动画的时候也有同样的问题,看起来是Chrome iOS中的bug,已经知道至少3-4年了。
已报告的问题行为表明,在您离开有问题的页面、打开另一个页面、重新加载该页面并返回到有问题的页面后,动画中断,然后问题发生。
另一个已确认的行为是,重置Chrome示例并打开有问题的页面后,问题不再存在。该问题已被精确定位为“UIViews snapshotting”(请参阅下面的链接)。
链接到相关的StackOverflow帖子:Animations lagging on mobile chrome
该帖子还提供了Chromium错误报告的链接:
Issue 1231712: CSS transitions lag / jank after switching tabs on mobile device chrome browser
Issue 899130: CSS Transitions Stop Working
第一个Chromium链接包含另一个错误报告链接:
Bug 228333 - [iOS] CSS transform transitions become janky after snapshotting other UIViews
其中指出,据报告,该漏洞已于2023年1月初修复
此处突出显示修复:[iOS] CSS transform transitions become janky after snapshotting other UIViews #8394
我在2023年1月28日更新iOS上的Chrome后仍然存在这个问题,希望很快就能修复。

相关问题