使用css3动画在苹果手机上会闪一下?

在使用animation做循环动画的时候,在苹果手机上查看会闪一下,请问各位这是什么情况?怎么解决?感谢!

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>txt</title>
<style type="text/css">
html,body{height: 100%;overflow: hidden;}
.page{width: 100%;height: 100%;overflow: hidden;position: fixed;top: 0;left: 0;}

.page02{background:red;}
.house{width:50px;height: 50px;background:#00aeff;position: absolute;animation: myHouse 3s infinite linear normal forwards;}

@keyframes myHouse{
    0%{top: 65%;left: -25%;transform: scale(2.4);}
    100%{top: 15%;left: 22%;transform: scale(1);}
}
</style>
</head>
<body>
    <div class="page page02">
        <div class="house"></div>
    </div>
</body>
</html>
阅读 9.1k
1 个回答

我也遇到过这个问题。但是目前没有彻底的解决方案。

-webkit-animation-fill-mode:forwards;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;

经过多次尝试,我发现这些属性加上后,出现BUG的几率最小。但是偶尔还是会出现那个BUG。这个估计和IOS内部的渲染机制有关系。我发现IOS有个很有趣的渲染机制,感觉有点画蛇添足了,他会在元素被挡住的时候进行检测,一般超过1s还是多少,会停止渲染那个动画视图,估计是为了节约电吧!但是在重新显示这个动画的时候,他的动画执行就会出现BUG,如果是挡住了也在后台不去破坏渲染图形的进程,估计不会有这样的BUG,但是会耗电,这样看来,IOS的确有点自作聪明了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题