我有一个简单的动画(在本例中仅适用于 Safari):
h1 {
-webkit-animation: moveDown 1s ease-in-out;
}
@-webkit-keyframes moveDown {
0% {-webkit-transform: translateY(-20px); opacity: 0;}
100% {-webkit-transform: translateY(0px); opacity: 1;}
}
在最新的 Safari (5.1.5) 中它工作得很好。
但偶然我在较旧的 Safari (5.0.6) 中查看了该示例,但什么也没看到。h1没了。
通过添加非旋转(不透明度和动画作品)来触发eather:
@-webkit-keyframes moveDown {
0% {-webkit-transform: translateY(-20px) rotate(0deg); opacity: 0;}
100% {-webkit-transform: translateY(0px) rotate(0deg); opacity: 1;}
}
或从 1% 开始(不透明度不起作用,但动画):
@-webkit-keyframes moveUp{
1% {-webkit-transform: translateY(-20px); opacity: 0;}
100% {-webkit-transform: translateY(0px); opacity: 1;}
}
它再次起作用了。
这让我想到了两个严肃的问题:
- 在第一个示例中我做错了什么吗?
- 旧版本的 Safari 中是否存在我应该区别对待的已知错误?
原因:
我不介意您在不支持的浏览器中看不到动画(这只是一个不错的附加功能),但如果您的动画元素不再出现,我会敢于不知道。
我怎样才能在一般情况下将动画用作附加组件而不用担心?
如果有人要小提琴:我尝试重新创建它。但这里还有一个有趣的事情:完全相同的代码在 jsfiddle 中的旧 Safari 中不会有任何影响。它也不会生气或消失。
编辑:
我只是看到 h1 不再使用原始代码消失(我无法重建它),但没有做任何动画。它仅适用于所描述的触发器之一。
JS-小提琴: