旋转器不旋转

时间:2017-02-25 07:30:55

标签: html css3 spinner

我有一个旋转器,我用于长时间运行,但我不能让它旋转。我已经阅读了与此相关的其他SO问题,但似乎没有一个问题让我的方案有效。

我有以下HTML

<div class="ms-BasicSpinner">
    <div class="ms-Spinner">
        <div class="ms-Spinner-circle ms-Spinner--large"></div>
        <div class="ms-Spinner-label">Creating...</div>
    </div>
</div>

和CSS

.ms-Spinner > .ms-Spinner-circle.ms-Spinner--large {
  width: 28px;
  height: 28px;
}

.ms-Spinner > .ms-Spinner-circle {
  margin: auto;
  box-sizing: border-box;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  border: 1.5px solid #c7e0f4;
  border-top-color: #0078d7;
  -webkit-animation: ms-Spinner-spin 1.3s infinite cubic-bezier(.53, .21, .29, .67);
  animation: ms-Spinner-spin 1.3s infinite cubic-bezier(.53, .21, .29, .67);
}

.ms-Spinner > .ms-Spinner-label {
  color: #0078d7;
  margin-top: 10px;
  text-align: center;
}

.ms-BasicSpinner .ms-Spinner {
  display: inline-block;
  margin: 10px 0;
}

我还必须关注JSFiddle https://jsfiddle.net/20ufspze/

让旋转器旋转我错过了什么?

任何帮助非常感谢

提前致谢

2 个答案:

答案 0 :(得分:3)

将三次贝塞尔函数应用于旋转以获得所需效果。调整the bottom element here可以旋转蓝色部分:

@-webkit-keyframes ms-Spinner-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes ms-Spinner-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

cubic-bezier部分重写为:

  -webkit-animation: ms-Spinner-spin 1.3s infinite cubic-bezier(.53, .21, .29, .67);
  animation: ms-Spinner-spin 1.3s infinite cubic-bezier(.53, .21, .29, .67);

答案 1 :(得分:2)

为任何HTML组件制作动画的最佳做法是在CSS中使用动画关键帧。

@keyframes anim {
  from {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
  }
}

...

.ms-Spinner > .ms-Spinner-circle {
  margin: auto;
  box-sizing: border-box;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  border: 1.5px solid #c7e0f4;
  border-top-color: #0078d7;
  animation: anim 1.3s infinite;

}

...

小提琴链接:https://jsfiddle.net/8Ly697ne/