如何使用多个关键帧定义循环css动画?

hit*_*uct 13 css animation css3 css-animations

问题

我有两个css关键帧动画,我在一个元素上运行:

.fade-bg {
  animation-name: fade-bg-1, fade-bg-2;
  animation-delay: 0, 6s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
Run Code Online (Sandbox Code Playgroud)

动画定义如下:

@keyframes fade-bg-1 {

  from {
      opacity: 0;
      background-image: url(image-1.jpg);
  }

  50% {
      opacity: 1;
      background-image: url(image-1.jpg);
  }

  to {
      opacity: 0;
      background-image: url(image-1.jpg);
  }

}

@keyframes fade-bg-2 { /* Same as fade-bg-1 only with image-2.jpg  */ }
Run Code Online (Sandbox Code Playgroud)

上面的工作,但当它到达第二个动画时,它不断重复该动画,并不循环回fade-bg-1.

我尝试了许多不同的组合animation-direction但无济于事.

问题

如何使动画返回fade-bg-1并重复自己?

这个例子

EXAMPLE

use*_*918 8

没有JavaScript,我认为你不能.但是,您可以使用单个关键帧动画实现相同的效果.

.fade-bg {
  animation-name: fade-bg;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: forward;
}


@keyframes fade-bg {
    0% {
        opacity: 0;
        background-image: url('image-1.jpg');
    }

    25% {
        opacity: 1;
        background-image: url('image-1.jpg');
    }

    50% {
        opacity: 0;
        background-image: url('image-1.jpg');
    }

    51% {
        opacity: 0;
        background-image: url('image-2.jpg');
    }

    75% {
        opacity: 1;
        background-image: url('image-2.jpg');
    }

    100% {
        opacity: 0;
        background-image: url('image-2.jpg');
    }
}
Run Code Online (Sandbox Code Playgroud)

EXAMPLE