Кратко
СкопированоДиректива @keyframes используется для создания ключевых кадров CSS-анимаций.
Пример
Скопировано
@keyframes circle-to-square { from { border-radius: 50%; background-color: red; } to { border-radius: 0; background-color: blue; }}
@keyframes circle-to-square {
from {
border-radius: 50%;
background-color: red;
}
to {
border-radius: 0;
background-color: blue;
}
}
Как понять
СкопированоЧто из себя представляет любая анимация? Это переход от одного состояния элемента к другому состоянию.
Чтобы рассказать браузеру, с чего начать и чем закончить анимацию, используется директива @keyframes.
Как пишется
СкопированоПосле ключевого слова @keyframes мы должны написать имя анимации. Оно понадобится нам, чтобы связать анимацию для конкретного элемента с ключевыми кадрами. Желательно, чтобы имя анимации было уникальным.
Ключевые кадры могут прописываться при помощи ключевых слов from (начальный кадр) и to (конечный кадр). Это удобно, если у вас всего два ключевых кадра. Если же кадров больше двух, то можно использовать проценты.
@keyframes circle-to-square { from { border-radius: 50%; background-color: red; } 50% { border-radius: 25%; background-color: green; } to { border-radius: 0; background-color: blue; }}
@keyframes circle-to-square {
from {
border-radius: 50%;
background-color: red;
}
50% {
border-radius: 25%;
background-color: green;
}
to {
border-radius: 0;
background-color: blue;
}
}
Браузер расшифровывает ключевое слово from как 0, а ключевое слово to как 100.
Подсказки
Скопировано💡 Задавайте уникальное имя каждой анимации.
💡 from равно 0, to равно 100.
💡 Если нужна простая анимация от исходного значения к конечному, то внутри директивы можно указать только финальный кадр.
@keyframes circle-to-square { to { border-radius: 0; background-color: blue; }}
@keyframes circle-to-square {
to {
border-radius: 0;
background-color: blue;
}
}