适当的方法来优化CSS 3动画iOS/Mobile Safari?

我正在使用PhoneGap构建一个iPad应用程序。我试图使用CSS转换的动画,但我不完全确定我使用正确的方法来利用设备可能支持的任何硬件加速。

这是一个模态窗口(DIV),我想从页面的顶部向下滑动。它将开始位于屏幕顶部,然后通过jquery添加一个类来动画到页面本身:

.modal {
      background: url('../images/bgnd-modal.png');
      width: 800px;
      height: 568px;
      position: absolute; 
      top: -618px;
      left: 100px;
      z-index: 1001;
      -webkit-transition: top .25s ease-in; 
  }
.modal.modalOn {
      top: 80px;
  }

当部署到iPad 2与iOS 4,这样做,但动画是轻微的干。这不是一个完全平滑的动画。我应该使用不同的CSS来处理这个?或者这可能只是一个副作用它是一个PhoneGap应用程序和有问题的DIV有一个大的背景图像?

解决方法

你应该至少添加一个空的translate3d声明:
transform: translate3d(0,0);
-webkit-transform: translate3d(0,0);

这将有助于在iOS上巨大的性能,如Remy Sharp所示,因为它导致iOS使用硬件加速。

如果你想进一步,重构动画使用webkit翻译转换,而不是动画的“顶”属性。在transform3d属性中,第二个参数是Y值。在您的示例中,将-webkit过渡更改为专注于transform属性,而不是顶部。然后,设置translate3d(0,0)的初始webkit变换。

要执行动画,请将.modal.modalOn声明更改为:

transform: translate3d(0,80px,0)

这将导致iOS动画的元素的变换,应该比第一个方法更平滑。

– 注意 – 不要忘记添加像px或em一样的测量单位 – 像transform:translate3d(0,80,0);不会工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


css的bordercolor属性怎么使用
CSS中contain属性的作用和语法
深入学习响应式布局框架:适合初学者到专家的详尽指南
CSS3选择器优先级规则
margin-top用法
选择最适合您的响应式布局框架:综合评估不同工具
使用CSS中的content属性
设计一个无缝适应不同屏幕尺寸的网站
如何处理CSS样式的层叠问题
探究最佳响应式布局框架:竞争激烈!
学习基本数据类型的快速入门:掌握常用操作技巧
CSS中float布局介绍
一同探讨响应式布局的益处
掌握响应式设计的益处,让网页在不同设备上展现完美适配!
可能导致CSS加载失败的原因有哪些?
各种基本数据类型的全面操作指南
CSS3选择器是否用于设计界面结构?
响应式布局优化移动设备适配的策略与实用技巧
伪元素怎么清除浮动
利用CSS响应式布局创作独特网页设计的设计技巧