🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.

Доступно в Baseline в статусе «Widely Available» с 2022-07-15

Элементы <animate>, <animateMotion> и <animateTransform> позволяют создавать анимацию внутри SVG без использования JavaScript. Вы декларативно задаете параметры движения, вращения, масштабирования и других эффектов, задавая атрибуты прямо в разметке. Это удобно для простых анимаций, которые не требуют сложных сценариев.

Пример использования <animate> для изменения цвета заливки:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" fill="red">
    <animate attributeName="fill" values="red;blue;red" dur="3s" repeatCount="indefinite" />
  </circle>
</svg>

Для перемещения объекта по траектории используют <animateMotion>:

<svg width="200" height="200">
  <circle cx="0" cy="100" r="10" fill="green">
    <animateMotion dur="4s" repeatCount="indefinite">
      <mpath xlink:href="#path1" />
    </animateMotion>
  </circle>
  <path id="path1" d="M0,100 C50,0 150,200 200,100" fill="none" stroke="gray" />
</svg>

Эти элементы работают в поддержку SMIL, что удобно для простых анимаций, но стоит помнить — некоторые браузеры с этим могут иметь ограничения или отключены.

Больше обзоров веб-функций — в телеграм-канале HTML Academy.

Нашли ошибку или опечатку? Напишите нам.