滑动CSS动画不会在正确的区域中翻转

And*_*w C 6 html css animation css3 css-animations

我正在尝试创建一个CSS动画,右侧有一个鸟滑动,翻转并向左滑动并再次翻转.并重复......就像鸟儿来回奔跑.

现在它翻转,滑动,并不喜欢它应该. 这是CodePen

这是我的HTML:

<div class="fifth">
 <div id="GoRight">
   <p>... Loading</p>
 </div>
 <div id="TurnGoLeft"></div>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS:

    .fifth h2 {
    margin-top: 130px;
}
.fifth #GoRight{
  width: 200px;
  height: 5px;
  position: fixed;
  margin-left: 200px;
  margin-top: 14px;
}
.fifth #GoRight p{
    font-size: 20px;
    color: #1886c7;
    font-family: "Effra Regular", "Droid Sans", Arial, serif;
}
.fifth #TurnGoLeft {
  width: 110px; 
  height: 66px;
  background-image: url("http://goo.gl/BaIPWx");
  background-repeat: no-repeat;
  position: fixed;
  left: 60px;
  top: 10px;
  -webkit-animation: slideflip, flipslide 2s infinite alternate;
}
@-webkit-keyframes slideflip {
  0% {
    margin-left: 0%;
    width: 110px; 
  }
  100% {
    margin-left: 20%;
    width: 110px;
  }
}
@-webkit-keyframes flipslide {
  50% {
    margin-left: 0%;
    width: 110px; 
  }
  100% {
    -webkit-transform: rotateY(180deg);
    margin-left: 20%;
    width: 110px;
  }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助或见解都会非常有用!谢谢!

Dan*_*niP 2

解决这个问题的方法不是使用alternate而是创建一个动画并采取一些步骤来进行从左到右翻转

@-webkit-keyframes slideflip {
  0% {
    margin-left: 0%;
    -webkit-transform: rotateY(0);
  }
  25% {
    margin-left: 20%;
    -webkit-transform: rotateY(0);
  }
  45% {
    margin-left: 20%;
    -webkit-transform: rotateY(180deg);
  }
  80% {
    margin-left: 0;
    -webkit-transform: rotateY(180deg);
  }
}
Run Code Online (Sandbox Code Playgroud)

Codepen演示


Codepen 和 % 的数量与我评论中发布的相比发生了变化,基于 @Ruddy 的解决方案,有助于避免加载动画第一步时的翻转