![[иллюстрация принципа]](https://habrastorage.org/r/w1560/storage2/7da/d6d/a5c/7dad6da5c62903c444b0264471ac29e5.jpg)
Если вам не хочется использовать гифы на сайте, а предпочитаете PNG за их лучшую цветность, но всё же нужно
у анимаций CSS с ключевыми кадрами есть свойство под названием animation-timing-function. Одна из его возможностей — использовать функцию
div {
animation: play 1s steps(10) infinite;
}
@keyframes play {
0% { background-position: 0px 0; }
100% { background-position: -500px 0; }
}
Различие между нею и остальными анимационными функциями состоит в том, что вместо плавного движения
Вот небольшое демо.
Как видите, можно менять скорость воспроизведения анимации, что весьма радует, но есть и проблема: анимация всегда начинается с первого кадра и оттого выглядит дёрганою. Я пробовал также анимировать длительность анимации (наследованием от родительского элемента), но, к сожалению, это не поддерживается. Так что, думаю, если вам понадобится более динамическое управление скоростью (анимирование анимации), то всё равно придётся прибегнуть к джаваскрипту.
Постскриптум. Найден реальный пример употребления этого приёма: логотип Impending.