Назад к вопросам
Junior
150
questionbank
Для чего нужны keyframes и как они работают?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
@keyframes — правило CSS, определяющее ключевые кадры анимации. Оно позволяет создать последовательность состояний элемента в разные моменты времени, которые браузер будет плавно переводить одно в другое, создавая эффект движения. Работает путем определения набора стилей для элемента в определенных процентах времени (от 0% до 100%) или с использованием ключевых слов from (0%) и to (100%).
Для использования keyframes необходимо:
- Определить правило
@keyframesс уникальным именем. - Внутри
@keyframesуказать стили для различных временных отметок (в процентах илиfrom/to). - Применить созданную анимацию к элементу с помощью свойства CSS
animation.
@keyframes slidein {
from {
transform: translateX(0%); // Начальное состояние: нет смещения по X
}
to {
transform: translateX(100%); // Конечное состояние: смещение на 100% по X
}
}
.element {
animation-name: slidein; // Имя анимации, определенной выше
animation-duration: 3s; // Длительность проигрывания анимации
animation-timing-function: ease-in-out; // Функция скорости анимации
animation-delay: 1s; // Задержка перед началом анимации
animation-iteration-count: infinite; // Количество повторовアニメーション (здесь бесконечно)
animation-direction: alternate; // Направление анимации (прямое, затем обратное)
}
Основные свойства animation, используемые совместно с @keyframes:
| Свойство | Описание |
|---|---|
animation-name |
Имя @keyframes, которое нужно применить. |
animation-duration |
Длительность одного цикла анимации (например, 2s, 500ms). |
animation-timing-function |
Функция скорости анимации (например, linear, ease, ease-in, cubic-bezier). |
animation-delay |
Задержка перед началом анимации (например, 1s). |
animation-iteration-count |
Количество повторов анимации (infinite для бесконечного повтора). |
animation-direction |
Направление анимации (normal, reverse, alternate, alternate-reverse). |
animation-fill-mode |
Определяет, какие стили применяются к элементу до и после выполнения анимации. |
animation-play-state |
Определяет, находится ли анимация в состоянии выполнения или на паузе. |