css - 当在关键帧中定义高度/宽度时,CSS 动画中的旋转中断

标签 css sass css-animations css-transforms

我有一个元素,我想在其中制作动画。我想分两步制作动画,首先缩放并旋转一个正方形,然后加宽正方形。我从 transform: scale(.1) rotateX(360deg); 开始,并将动画设置为 transform: none,效果很好。但是,一旦我(在任何步骤中)在关键帧中声明高度/宽度,旋转就会停止工作。它仍将按应有的比例缩放,并应用高度/宽度属性,但完全跳过旋转。

这里有一个 Codepen 来演示这个问题: http://codepen.io/anon/pen/abDCK

如您所见,其中没有旋转,只是简单地按比例缩小。现在,在 CSS 中向下滚动并注释掉高度/宽度属性,您会发现旋转现在突然起作用了。

我尝试过在普通选择器(而不是关键帧)中声明/不声明高度/宽度的不同组合,我还尝试将高度/宽度声明放在关键帧的不同步骤中。没有成功。

我在 Chrome 中的两个 Firefox 中得到了相同的结果。这是预期的行为吗?如果是这样,为什么?有任何解决方法吗?

最佳答案

与关键帧中的变换不平衡有关吗?您需要将 translateX(0deg) 添加到 40% 关键帧或 100% 关键帧,具体取决于您想要的位置。

http://codepen.io/anon/pen/lJKkD

如果有人能解释原因,我肯定会喜欢它 - 但这是“解决方案”

关于css - 当在关键帧中定义高度/宽度时,CSS 动画中的旋转中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312223/

相关文章:

html - 浏览器支持另一个 flexbox 内部的 Flexbox

sass - 在选择器中使用它们之前在 SCSS 中剥离主题标签的变量?

css - 无限背景图像(PNG)动画不无缝

CSS 缓和进出比例

css - 纯CSS3动画: 2 parts animation,一个接一个

html - 我想在 twitter bootsrap 中将 col-sm-4 转换为底部的两列和一行

html - 如何将 CSS 菜单项之间的点转换为线?

html - 将 <td> 中的文本输入与 twitter bootstrap 中的右侧对齐?

css - 将关键帧添加到动画 div 的问题

javascript - CSS 加载动画在 NW.js (node-webkit) 中没有动画