CSS анимация плавающего шара - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь оживить воздушный шар, плавающий по экрану.Я думал, что буду использовать линейную анимацию движения по оси Y и синусоидальное маятниковое движение по оси X, чтобы имитировать воздушный шар, летящий взад и вперед немного горизонтально.Я не очень доволен результатом, это выглядит нелепо.Есть ли у вас какие-либо предложения, как я могу улучшить анимацию?

Это CSS-анимация, которую я придумал:

.balloon {
  background-image: url(https://i.imgur.com/QJZPw2X.png);
  width: 180px;
  height: 300px;
  background-size: contain;
  position: absolute;
  bottom: 0%;
  animation: move_y 30s linear forwards, oscil1 6s infinite;
  left: 45%;
}

@keyframes move_y {
  from {
    bottom: -10%;
  }
  to {
    bottom: 100%;
  }
}

@keyframes oscil1 {
  from {
    translate: 0 0;
    transform: rotate(0deg);
    animation-timing-function: cubic-bezier(0.1, 0.3, 0.3, 1);
  }
  25% {
    translate: 10px 0;
    transform: rotate(3deg);
    animation-timing-function: cubic-bezier(0.7, 0.0, 0.9, 0.7);
  }
  50% {
    translate: 0 0;
    transform: rotate(0deg);
    animation-timing-function: cubic-bezier(0.1, 0.3, 0.3, 1);
  }
  75% {
    translate: -10px 0;
    transform: rotate(-3deg);
    animation-timing-function: cubic-bezier(0.7, 0.0, 0.9, 0.7);
  }
  to {
    translate: 0 0;
    transform: rotate(0deg);
  }
}
<!doctype html>
<html lang="en">

<head>
  <meta charset="UTF-8">
</head>

<body>
  <div class="balloon">
  </div>
</body>

</html>
...