Rimil Dey Rimil Dey - 19 days ago 9
CSS Question

Multiple rings with ripple effect around down arrow

I have been able to create a ripple effect around a down arrow with one ring.

The animation:
https://rimildeyjsr.github.io/St.Anthony-Website/

I want to extend the animation to include three rings with similar animations.
What would be the simplest way to achieve the animation?



.down-arrow {
display: none;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
top: 81.5%;
z-index: 5;
border-radius: 50%;
height: 80px;
width: 80px;
}
.ring {
border: 2.5px solid white;
-webkit-border-radius: 50%;
height: 80px;
width: 80px;
position: absolute;
left: 0;
right: 0;
top: 81%;
z-index: 5;
margin: 0 auto;
-webkit-animation: pulsate 2s ease-out;
-webkit-animation-iteration-count: infinite;
-webkit-animation-delay: 2s;
opacity: 0.0;
}
@-webkit-keyframes pulsate {
0% {
-webkit-transform: scale(0, 0);
opacity: 1;
}
100% {
-webkit-transform: scale(1.2, 1.2);
opacity: 0;
}
}

<img src="images/down-arrow.png" alt="down arrow for navigation" class="img-responsive down-arrow-page-one animated
slideInDown">
<div class="ring"></div>




Answer

Here is a variant of solution:

body {
    background-color: #668822;
}
.down-arrow {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 81.5%;
  z-index: 5;
  border-radius: 50%;
  height: 80px;
  width: 80px;
}
.ring {
  border: 2.5px solid white;
  -webkit-border-radius: 50%;
  height: 80px;
  width: 80px;
  position: absolute;
  left: 0;
  right: 0;
  top: 200px;
  z-index: 5;
  margin: 0 auto;
  -webkit-animation: pulsate 2s ease-out;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-delay: 2s;
  opacity: 0.0;
}
.ring2 {
  -webkit-animation-delay: 1.7s;
}
.ring3 {
  -webkit-animation-delay: 1.4s;
}
@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2, 1.2);
    opacity: 0;
  }
}
<img src="images/down-arrow.png" alt="down arrow for navigation" class="img-responsive down-arrow-page-one animated
                slideInDown">
<div class="ring"></div><div class="ring ring2"></div><div class="ring ring3"></div>

Further you may play with delays of circles appearing.