Как создать тусклое свечение, но чтобы оно изменяло размер (или вело себя как лавовая лампа)?

Проблема в том, что на изоб 2 показан код анимации, но анимация такая себе, чисто снизу появляется черная полоса, как будто она сдвигается вверх...

Я добавил @keyframes moveBackground, но не сильно помогло Пример кода, который отображается на изоб 1


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

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

Попробуйте вынести своё свечение в отдельный слой и работайте с ним, меняя его свойства, позицию или прозрачность.

Я воспользовался псевдоэлементом ::before для создания пустого слоя который растянул и анимировал с помощью @keyframes

body {
  background-color: black;
}

.background-animation {
  position: relative;
  width: 300px;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.background-animation::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-image: radial-gradient(circle, #ff8c0070 20%, transparent 80%);
  animation: moveBackground 2s infinite alternate ease-in-out;
}

@keyframes moveBackground {
  0% {
    transform: translateY(0);
    opacity: 0.75;
  }
  100% {
    transform: translateY(-20px);
    opacity: 1;
  }
}
<div class="background-animation">
  <button>Click?</button>
</div>

→ Ссылка