Правило @keyframes
Правило @keyframes — позволяет пользователю описать анимацию CSS свойств в виде перечня ключевых кадров.
Синтаксис
@keyframes <имя анимации> { <селектор кадра 1> { <свойство 1>:<значение 1>; <свойство 2>:<значение 1>; } <селектор кадра 2> { <свойство 1>:<значение 2>; <свойство 2>:<значение 2>; } ..................... <селектор кадра n> { <свойство 1>:<значение n>; <свойство 2>:<значение n>; } }
- — задает имя анимации в виде строки в одинарных кавычках (это имя потом используется при вызове анимации в качестве значения свойства animation-name)
- — задает селекторы которые определяют ключевые кадры. Они могут принимать значения:
- from — внутри этого селектора описывается значения анимированных свойств в начальный момент анимации (также можно описать начальный кадр анимации, используя эквивалентный селектор 0%)
- to — внутри этого селектора описывается значения анимированных свойств в конечный момент анимации (также можно описать конечный кадр анимации, используя эквивалентный селектор 100%)
- — описывает значения анимированных свойств в данный момент времени (момент времени отсчитывается в процентном отношении от значения свойства animation-duration)
- — анимируемое CSS свойство
- — значения анимированного свойств в момент, описываемый селектором кадра
Пример кода
div { top:50px; left:0px; animation-name:'movement'; animation-duration:10s; } @keyframes 'movement' { from { top:50px; left:0px; } 50% { top:150px; left:100px; } to { top:400px; left:300px; } }
В примере описана анимация перемещения (изменение координат блока с течением времени). В первый момент анимации, описываемый селектором кадра from, координаты блока top:50px, left:0px. Следующий ключевой кадр описывает значения свойств через 50% времени анимации (в данном примере — 5 секунд). Координаты блока станут top:150px, left:100px. В последний момент времени описываемый селектором кадра to (через 10с) блок получит абсолютные координаты top:400px, left:300px.
Замечание! Анимация происходит не в три рывка, а плавно.
Поддерживается браузерами | На данный момент не поддерживается ни одним из браузеров |
---|
Заметки
Safari 4.0 и выше Chrome 3.0 и выше поддерживают возможность определить список анимаций с помощью ключевого слова @-webkit-keyframes.
По теме
- Анимация в CSS3. Часть I
- Анимация в CSS3. Часть II
- Правило @keyframes
- Свойство animation
- Свойство animation-delay
- Свойство animation-direction
- Свойство animation-iteration-count
- Свойство animation-play-state
- Свойство animation-timing-function