关键帧 - 渐变背景没有动画

Del*_*Pro 2 css radial-gradients keyframe css-animations

我正在尝试使用@keyframes 为背景交换设置动画。背景是径向渐变。背景发生变化,但没有动画。

#mydiv {
background: radial-gradient(circle at 90% 80%, #ff0000, #4d0019);
width: 100%;
height: 1246px;
position: relative;
overflow: hidden;
animation: background-gradient 5s;
animation-iteration-count: infinite;
backface-visibility: hidden;
animation-timing-function: ease-in-out;
}

@-webkit-keyframes background-gradient {
0% {background: radial-gradient(circle at 90% 80%, #ff0000, #4d0019);}
25% {background: radial-gradient(circle at 90% 80%, #993399, #4d0019);}
50% {background: radial-gradient(circle at 90% 80%, #3333cc, #4d0019);}
75% {background: radial-gradient(circle at 90% 80%, #00ffcc, #4d0019);}
100% {background: radial-gradient(circle at 90% 80%, #cc9900, #4d0019);}
}

@keyframes background-gradient {
0% {background: radial-gradient(circle at 90% 80%, #ff0000, #4d0019);}
25% {background: radial-gradient(circle at 90% 80%, #993399, #4d0019);}
50% {background: radial-gradient(circle at 90% 80%, #3333cc, #4d0019);}
75% {background: radial-gradient(circle at 90% 80%, #00ffcc, #4d0019);}
100% {background: radial-gradient(circle at 90% 80%, #cc9900, #4d0019);}
}
Run Code Online (Sandbox Code Playgroud)
<div id="mydiv"></div>
Run Code Online (Sandbox Code Playgroud)

我尝试只使用纯色,效果很好(例如背景:红色,背景:黄色......)。

我尝试使用背景图像而不只是渐变上的背景,但没有帮助。

您是否有任何建议或知道如何动画交换的解决方案,因此它不仅仅是颜色的快速交换,而是从一种颜色到另一种颜色的逐渐交换。

val*_*als 6

不幸的是,背景渐变不可设置动画

幸运的是,您当前的设计不需要对渐变进行动画处理,因为外部颜色是恒定的。

只需将渐变设置为透明,并在下面设置纯色变化即可

#mydiv {
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
  animation: background-gradient 5s;
  animation-iteration-count: infinite;
  backface-visibility: hidden;
  animation-timing-function: ease-in-out;
  background-image: radial-gradient(circle at 90% 80%, transparent, #4d0019);
}

@keyframes background-gradient {
  0% {
    background-color: #ff0000;
  }
  25% {
    background-color: yellow;
  }
  50% {
    background-color: #3333cc;
  }
  75% {
    background-color: #00ffcc;
  }
  100% {
    background-color: #cc9900;
  }
}
Run Code Online (Sandbox Code Playgroud)
<div id="mydiv"></div>
Run Code Online (Sandbox Code Playgroud)