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

时间:2014-12-19 15:06:04

标签: html css css3 animation css-animations

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

现在它翻转,滑动并且不喜欢它应该。 Here is the CodePen

这是我的HTML:

<div class="fifth">
 <div id="GoRight">
   <p>... Loading</p>
 </div>
 <div id="TurnGoLeft"></div>

这是我的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;
  }
}

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

1 个答案:

答案 0 :(得分: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);
  }
}

CodepenDemo


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