Reputation: 10888
I have this simple animation that pulses back and forth diagonally, I would like it to slide endlessly instead of pulsing back and forth. Here is my code:
body {margin: 0; padding: 0;}
.error-con {
background: rgba(255, 0, 89, 1);
background: -moz-linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 100%);
background: -webkit-gradient(left bottom, right top, color-stop(0%, rgba(255, 0, 89, 1)), color-stop(100%, rgba(0, 179, 255, 1)));
background: -webkit-linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 100%);
background: -o-linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 100%);
background: -ms-linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 100%);
background: linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 100%);
background-size: 400% 400%;
-webkit-animation: errorBg 55s ease infinite;
-moz-animation: errorBg 55s ease infinite;
animation: errorBg 55s ease infinite;
height: 100vh;
}
@-webkit-keyframes errorBg {
0% {
background-position: 93% 0%
}
50% {
background-position: 0% 100%
}
100% {
background-position: 93% 0%
}
}
@-moz-keyframes errorBg {
0% {
background-position: 93% 0%
}
50% {
background-position: 0% 100%
}
100% {
background-position: 93% 0%
}
}
@keyframes errorBg {
0% {
background-position: 93% 0%
}
50% {
background-position: 0% 100%
}
100% {
background-position: 93% 0%
}
}
<div class="error-con"></div>
I tried removing the 50% keyframe but that just made the whole thing jump back to the start at the last keyframe. Any ideas?
Upvotes: 2
Views: 7027
Reputation: 3978
The problem is your gradient. For an infinite loop you should have four colors:
I've Fixed Your Code In This Fiddle
background: -webkit-linear-gradient(45deg, rgba(255, 0, 89, 1) 0%, rgba(0, 179, 255, 1) 33%, rgba(255, 0, 89, 1) 66%, rgba(0, 179, 255, 1) 100%);
Upvotes: 3