@keyframes
CSS keyframes позволяет производить изменения постоянно и автоматически, а не только в ответ на события мыши, как в transition. С помощью кейфреймов можно менять CSS стили для заданного селектора в любой точке в момент смены состояния или события, определенного через JQuery (например, скролинг). Данное правило используется в паре со свойством animation, с помощью которого можно задать duration, timing function, delay и direction. Свойства типа transform, если они входят в анимацию, объявляются внутри правила @keyframes.
Для начала каждое правило @keyframe должно иметь уникальное имя:
@keyframes animation-name{ }
Это имя используется в стилях элемента в свойстве animation:
.element { animation: animation-name; }
В кейфрейме задаются правила, выраженные в процентах. Проценты представляют собой точки вдоль временной линии анимации, внутри которых задаются стили для рендеринга на элементе:
@keyframes animation-name { 0% { color: pink; } 50% { color: yellow; } 100% { color: blue; } }
Пример применения этого простого правила к фоновому цвету для изменения body:
body { animation: change-background 4s ease infinite; }