Кнопка с волнами на CSS

Хочется создать кнопку с движущимися волнами. Но из примера ниже видно, что текст перебивается элементами, создающими волны.

Возможно ли с помощью стилей вынести текст кнопки на передний план, оставив при этом саму кнопку на том же слое?

button {
  padding: 20px 40px;
  background: #8ac;
  border: 1px solid #48a;
  outline: 0;
  
  overflow: hidden;
  position: relative;
}

button::before {
  content: "";
  
  width: 360px;
  height: 340px;
  
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  
  top: -310px;
  left: -130px;
  
  transition-duration: 4.2s;
  
  opacity: 0.0;
}

button::after {
  content: "";
  
  width: 380px;
  height: 340px;
  
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  
  top: -310px;
  left: -130px;
  
  transition-duration: 4.2s;
  
  opacity: 0.0;
}

button:hover::before {
  transform: rotate(390deg);
  opacity: 0.6;
}

button:hover::after {
  transform: rotate(290deg);
  opacity: 0.5;
}
<button>Button</button>


Ответы (1 шт):

Автор решения: kost1k

button {
  padding: 20px 40px;
  background: #8ac;
  border: 1px solid #48a;
  outline: 0;
  
  overflow: hidden;
  position: relative;
}

button::before {
  content: "";
  
  width: 360px;
  height: 340px;
  
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  
  top: -310px;
  left: -130px;
  
  transition-duration: 4.2s;
  
  opacity: 0;
}

button::after {
  content: "";
  
  width: 380px;
  height: 340px;
  
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  
  top: -310px;
  left: -130px;
  
  transition-duration: 4.2s;
  
  opacity: 0;
}

button:hover::before {
  transform: rotate(390deg);
  opacity: 0.6;
}

button:hover::after {
  transform: rotate(290deg);
  opacity: 0.5;
}

button span {
  position: relative;
  z-index: 1;
}
<button><span>Button</span></button>

→ Ссылка