CSS-правило @keyframes
используется для указания промежуточных шагов в течение цикла последовательности анимации путем установления ключевых кадров.
Правило @keyframes
состоит из ключевого слова @keyframes
, за которым следует идентификатор, дающий имя анимации (на который будет ссылаться использование свойства animation-name
), за которым следует набор правил стилей (ограниченных фигурными скобками).
Селектор ключевого кадра для правила @keyframes
начинается с процента (%
) или ключевых слов from
(0%
) или to
(100%
). Селектор используется для указания в какой момент исполняется анимация определенная в animation-name
.
Синтаксис
Синтаксически правило задается по следующему шаблону:
@keyframes animation-name {
keyframes-selector {
property: value;
}
}
Примеры написания кода правила @keyframes
:
.box {
width: 50px;
height: 50px;
background: red;
position: relative;
/* Chrome, Safari, Opera */
-webkit-animation-name: moveit;
-webkit-animation-duration: 2s;
/* Standard syntax */
animation-name: moveit;
animation-duration: 2s;
}
/* Chrome, Safari, Opera */
@-webkit-keyframes moveit {
from {left: 0;}
to {left: 50%;}
}
/* Standard syntax */
@keyframes moveit {
from {left: 0;}
to {left: 50%;}
}
Если в селекторе @keyframes
указано отрицательное процентное значение или значение выше, чем 100%
, то этот ключевой кадр будет игнорироваться.
Параметры
В следующей таблице описаны параметры этого правила.
Значение | Описание |
---|---|
Обязательно — должны быть указаны следующие параметры | |
animation-name |
Имя анимации. |
keyframes-selector | Определяет процент от продожительности анимации на котором анимация, определенная свойством animation-name стартует. Эта анимация закончится по достижении следующего keyframe или значения 100% |
Поддержка браузеров
Правило @keyframes
поддерживается во всех основных браузерах.