Задать вопрос
  • Как с помощью css сделать что бы точка двигалась по овалу или элипсу или вообще по какой то кривой?

    @nlaik
    Чтобы точка двигалась по овалу, эллипсу или произвольной кривой с помощью CSS, можно использовать анимации на основе @keyframes и свойства transform

    <div class="container">
      <div class="dot"></div>
    </div>


    .container {
      position: relative;
      width: 200px;
      height: 100px;
      border: 1px dashed gray;
      border-radius: 50%; /* Делает контейнер эллиптическим */
      overflow: hidden;
    }
    
    .dot {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 10px;
      height: 10px;
      background: red;
      border-radius: 50%;
      transform: translate(-50%, -50%);
      animation: moveInEllipse 4s linear infinite;
    }
    
    @keyframes moveInEllipse {
      0% {
        transform: translate(-50%, -50%) translateX(100px) rotate(0deg);
      }
      25% {
        transform: translate(-50%, -50%) translateX(100px) rotate(90deg);
      }
      50% {
        transform: translate(-50%, -50%) translateX(100px) rotate(180deg);
      }
      75% {
        transform: translate(-50%, -50%) translateX(100px) rotate(270deg);
      }
      100% {
        transform: translate(-50%, -50%) translateX(100px) rotate(360deg);
      }
    }


    В этом примере точка движется по эллипсу благодаря изменению свойств translate и rotate
    Ответ написан