TGViewer
Заметки разработчика Заметки разработчика @dev_notes_ru · 457 subscribers
Post #1196 175
👩‍💻 CSS свойство animation-composition

Как я раньше не слышал о свойстве animation-composition? Я только что заметил его в блоге Manuel Matuzović:

В CSS анимацию можно компоновать тремя способами: заменять, добавлять и накапливать. Свойство animation-composition позволяет переключаться между ними.


Ха! Значит, можно эффективно добавлять, заменять или комбинировать анимации, о чем я никогда раньше не задумывался! Я даже не задумывался о стандартном поведении, заменяющем анимацию на элементе, так что в приведённом ниже CSS .element будет перемещаться только на 100px...

.element {
animation: move 2s infinite;
transform: translateX(10px);
}

@keyframes move {
to {
transform: translateX(100px);
}
}


Но что, если нужно сложить эти свойства, чтобы получилось 100 + 10? Для этого и существует animation-composition, и её можно использовать следующим образом:

.element {
animation: move 2s infinite;
transform: translateX(10px);
animation-composition: add;
}

@keyframes move {
to {
transform: translateX(100px);
}
}


Ха! Очень аккуратно!

Самое забавное, что когда я увидел это свойство сегодня утром, моей первой мыслью было: зачем нам это нужно? Я не мог представить сценариев, в которых оно помогло бы выпутаться из сложных проблем или помочь в работе с анимацией (что, признаться, случается со мной крайне редко). А потом, во второй половине дня, я работал с инженером и понял, что можно использовать эти animation-composition штуки без написания кучи сложного JavaScript!

Не забудьте также посмотреть пост Bramus'а о комбинировании нескольких анимационных эффектов.

🖥 Источник (🇬🇧)

📱 @dev_notes_ru

#css #cssanimation
  • 👍 1
More from @dev_notes_ru
  1. Apr 27, 2026Уникальный индекс при мягком удалении: решаем проблему дубликатов При использовании мягког…
  2. Apr 23, 2026Статические переменные в PHP: использование static внутри функций По данным исследования E…
  3. Apr 21, 2026Валидация массивов в Laravel без N+1: Form Request как построитель контекста Применение пр…
  4. Apr 13, 2026JSON в браузере: import или fetch — руководство по выбору Спойлер: import из JSON — это не…
  5. Apr 6, 2026Проксирование fetch() в серверном JavaScript Стандарт Fetch не специфицирует проксирование…
  6. Apr 2, 2026Taskfile: Когда пора отказаться от Makefile (а когда — нет) Makefile — инструмент с почти…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →