【发布时间】:2021-06-13 01:12:14
【问题描述】:
我有这个 3d 旋转文本 css 动画在 chrome 桌面上工作,但它不能在移动设备上工作。我尝试添加 webkit 前缀,但没有任何东西可以让它在 iphone 上运行。有什么明显的原因吗?
https://codepen.io/warpigs666/pen/bGqQbzL
@keyframes turn {
from { transform: rotate3d(0, 0, 0, 0); }
to { transform: rotate3d(1, 0, 0, 360deg); }
}
.container {
width: 2rem;
height: 2rem;
perspective: 1000px;
margin: 100px;
}
.cube {
position: relative;
width: 2rem;
height: 2rem;
transform-style: preserve-3d;
animation: turn 3s linear infinite;
}
.face {
height: 2rem;
background: white;
backface-visibility: hidden;
position: absolute;
display: flex;
align-items: center;
justify-content: center;
font-family: Arial, sans-serif;
font-size: 2rem;
transition: transform 500ms;
}
.top {
transform: translateY(-1rem) rotateX(90deg);
}
.front {
transform: translateZ(1rem);
}
.bottom {
transform: translateY(1rem) rotateX(-90deg);
}
.back {
transform: translateZ(-1rem) rotateX(180deg);
}
@media (prefers-reduced-motion: reduce) {
.cube {
animation: none;
transform: rotate3d(1, 1, 0, 45deg);
}
}
【问题讨论】:
-
不确定这是否有帮助,但我通过 autoprefixer 传递了您的 CSS,它可能有帮助吗? codepen.io/sforsberg/pen/vYxQYGZ 没有要测试的 iPhone。您可能需要为所有动画添加
-webkit-前缀。 -
谢谢,我已经这样做了,如果你点击上面的 codepen 链接,它有 webkit 前缀,但不,由于某种原因它仍然无法工作。
-
这个很棘手!而是一个有趣的挑战。正如我在回答中所说,这似乎是一个一般的 Safari 问题,而不是特定于移动设备的问题。无论如何,希望我的回答对你有所帮助。祝你好运。
标签: css css-animations transform