css - 带有动画关键帧的时钟式旋转

标签 css css-animations

我在一个圆圈中画了 8 个点。我想旋转圆圈,但突然像时钟指针一样,不顺畅。对于完成完整旋转所需的每 12.5% 的时间,我想将旋转 Angular 增加 45 度。

我这样定义我的动画:

@-webkit-keyframes clock { 

  0% {
    transform: rotate(0deg);
  }
  12.4% {
    transform: rotate(0deg);
  }
  12.5%{
    transform: rotate(45deg);
  }
  24.9% {
    transform: rotate(45deg);
  }
  25%{
    transform: rotate(90deg);
  }
  ...

我通过指定非常接近的百分比来消除中间关键帧的粗略尝试并没有完全通过集合。我偶尔会出现断断续续的情况,我猜这是由于一些舍入问题造成的。

请注意,我有其他方法可以实现我想要的动画,我特别想问一下我们是否可以在 CSS 关键帧动画中应用突变效果。

引用:http://codepen.io/chardie/pen/embLrP

最佳答案

只需更改 timing function使动画成为 steps(1) 而不是 linear。这会阻止您想要避免的状态之间的平滑过渡:

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

#loading{
    -webkit-animation: 3s clock infinite steps(1);
}
@-webkit-keyframes clock {
    0% {
        transform: rotate(0deg);
    }
    12.5%{
        transform: rotate(45deg);
    }
    25%{
        transform: rotate(90deg);
    }
    ...
}

关于css - 带有动画关键帧的时钟式旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29186811/

相关文章:

python - Django 升级 : Static Files Not Served

html - 我如何使用CSS将百分比高度分配给下拉列表(选择)

css - 内联样式 react 元素宽度

html - fullcalendar 仅在窗口调整大小后出现 | Angular

javascript - 如何仅使用 jquery 将导航栏固定在大屏幕顶部

html - 为什么我的 animate.css 动画在 Chrome 中有效,但在 Firefox 中无效?

reactjs - 当子级运行动画时如何阻止父级的 onAnimationEnd 运行

css - Webkit CSS 动画问题 - 坚持动画的结束状态?

reactjs - 使用 React JS 和 CSS 连续循环动画滚动

css - 动画图标字体微调器