我有一个使用许多简单动画的页面,包括一些 JavaScript 动画,这些动画将 CSS 类添加/删除到具有 CSS3 动画以进行旋转的元素。我没有使用画布。
在 PC 上,该页面在 Chrome/Safari、Firefox 和 IE 中看起来很棒,但在 Mac 上,当在 WebKit(Chrome 和 Safari 5.0.3)中查看时,页面上的许多元素完全缺失。在 Mac 上的 Firefox 中看起来不错。缺少的元素没有应用任何动画——我看不出它们与动画之间有任何联系。
页面验证,CSS 几乎验证除了供应商扩展和我的 clearfix 中的缩放属性。禁用页面上的所有 JavaScript 不会改变任何东西。缺少的元素在源代码中,它们只是在页面上不可见。
乍一看,Z-index 似乎在不可见元素上变得扭曲了。更改这些不会影响问题。删除整个文档中的所有绝对、相对、固定位置以及浮动元素不会影响问题。唯一可以做任何事情的动作是删除所有 Webkit 动画。
当我应用所有动画时,页面上的几乎所有内容都消失了!
这是我的一个动画的例子——简单的东西:
@-webkit-keyframes propeller {
0% {-webkit-transform: rotateX(90deg);}
50% {-webkit-transform: rotateX(1deg);}
100% {-webkit-transform: rotateX(90deg);}
}
#element {
-webkit-animation:propeller 1s linear;
-webkit-transform-origin:50% 50%;
}
即使不调用动画,关键帧的存在也会导致页面中断。如果我特别使用这个动画(只是 -webkit-vendor 前缀),它会导致一个大型表单消失,它是“#element”的伟大祖先的兄弟。
这是我正在处理的页面的链接。我与设计无关:http: //goo.gl/6XXcV
所有动画都包含在 animations.css 中,所有 JavaScript 动画都包含在 general.js 中。
这对我来说一直很慢,因为我没有 Mac——我只是在使用 Microsoft Expression Web 4 SuperPreview——但我的客户有一台 Mac,并没有留下深刻的印象。提前感谢您的任何建议。