为什么可以处理CSS3 3D变换?

发布于 2025-01-21 19:33:37 字数 637 浏览 0 评论 0原文

我创建了一个3D旋转的立方体,它在Chrome和Firefox中效果很好。但是,它在Safari(桌面和移动设备)中根本没有动画。

我正在使用CSS上的自动改装器,因此应该没有问题,但是我似乎无法解决为什么我无法在Safari中进行动画制作。我正在使用Safari不支持的CSS规则吗?

这是我在整个立方体上拥有的内容:

.cube {
  position: relative;
  transform-style: preserve-3d;
  animation-name: rotate;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
    transform: rotateX(90deg) rotateY(90deg);
}

您可以在此处查看完整代码:

https> https:https:// codepen。 io/kkranzo/pen/poeykpz

I have a 3D rotating cube I created that works great in Chrome and Firefox. However it does not animate at all in Safari (desktop and mobile).

I am using the autoprefixer on the CSS so there should be no issue there, however I can't seem to solve why I can't get it to animate in Safari. Are there some CSS rules I am using that Safari doesn't support?

Here is what I have on the overall cube:

.cube {
  position: relative;
  transform-style: preserve-3d;
  animation-name: rotate;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
    transform: rotateX(90deg) rotateY(90deg);
}

You can view the full code here:

https://codepen.io/kkranzo/pen/PoEyKpz

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

单身情人 2025-01-28 19:33:37

我最终发现了这个问题。显然,Safari不喜欢只有两个关键帧的动画。我继续添加了以下动画的50%,现在可以在Safari上使用。我也更新了Codepen上的代码。

50% {
    transform: rotate3d(0, 1, 0, 180deg);
}

I ended up finding the issue. Apparently Safari doesn't like animations with only two keyframes. I went ahead and added the below at 50% of the animation and it now works on Safari. I updated the code on Codepen as well.

50% {
    transform: rotate3d(0, 1, 0, 180deg);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文