球没有正确滚动CSS

Min*_*shi 0 html css css3 css-animations

我的动画效果非常好,但它似乎滑了,似乎没有滚动.可能是什么问题呢?

FIDDLE在这里:http://jsfiddle.net/erkoda3m/2/

img {
  height: 150px;
  width: 150px;
  animation: roll 4s linear infinite;
  -webkit-animation: roll 4s linear infinite;
}
@-webkit-keyframes roll {
  0% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateX(300px) rotate(360deg);
  }
  100% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
}
@keyframes roll {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(300px) rotate(360deg);
  }
  100% {
    transform: translateX(0px) rotate(0deg);
  }
}
Run Code Online (Sandbox Code Playgroud)
<img src="http://i.imgur.com/5NvOwB5.png">
Run Code Online (Sandbox Code Playgroud)

The*_*ick 7

直径为150px,因此周长为150π = 471.24px.因此,如果旋转角度为360°,则translateX值将为球的周长,或471.24px:

img {
  height: 150px;
  width: 150px;
  animation: roll 4s linear infinite;
  -webkit-animation: roll 4s linear infinite;
}
@-webkit-keyframes roll {
  0% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateX(471.24px) rotate(360deg);
  }
  100% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
}
@keyframes roll {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(471.24px) rotate(360deg);
  }
  100% {
    transform: translateX(0px) rotate(0deg);
  }
}
Run Code Online (Sandbox Code Playgroud)
<img src="http://i.imgur.com/5NvOwB5.png">
Run Code Online (Sandbox Code Playgroud)

如果你想保持translateX不变并改变rotate值,你可以计算角度(400/471.24)*360= 305.57deg

img {
  height: 150px;
  width: 150px;
  animation: roll 4s linear infinite;
  -webkit-animation: roll 4s linear infinite;
}
@-webkit-keyframes roll {
  0% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateX(400px) rotate(305.57deg);
  }
  100% {
    -webkit-transform: translateX(0px) rotate(0deg);
  }
}
@keyframes roll {
  0% {
    transform: translateX(0px) rotate(0deg);
  }
  50% {
    transform: translateX(400px) rotate(305.57deg);
  }
  100% {
    transform: translateX(0px) rotate(0deg);
  }
}
Run Code Online (Sandbox Code Playgroud)
<img src="http://i.imgur.com/5NvOwB5.png">
Run Code Online (Sandbox Code Playgroud)