Какие знаешь способы реализации Web-анимации

«Какие знаешь способы реализации Web-анимации» — вопрос из категории CSS, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. CSS Transitions – простые переходы между состояниями.
    .box {
      transition: transform 0.3s ease;
    }
    .box:hover {
      transform: scale(1.1);
    }
  1. CSS Animations – ключевые кадры (@keyframes) для сложных анимаций.
    @keyframes slide {
      from { transform: translateX(0); }
      to { transform: translateX(100px); }
    }
    .box { animation: slide 2s infinite; }
  1. JavaScript (requestAnimationFrame) – для полного контроля над анимацией.
    function animate() {
      element.style.left = (pos += 1) + 'px';
      if (pos < 100) requestAnimationFrame(animate);
    }
    animate();
  1. Web Animations API – нативный JS-API для сложных анимаций.
    element.animate([
      { opacity: 0 },
      { opacity: 1 }
    ], { duration: 1000 });
  1. GSAP (GreenSock) – мощная библиотека для продвинутых анимаций.
    gsap.to(".box", { x: 100, duration: 1 });
  1. Canvas/SVG-анимации – для графики и интерактивных элементов.

Выбор зависит от сложности, производительности и требований к кросс-браузерности.