CSS для веб-дизайнеров.

Ключевые кадры.

Первая часть построения CSS-анимации заключается.

В объявлении ключевых кадров. Читатель, знакомый.

С программированием, может воспринимать это как создание функции, к которой затем можно обращаться из любого места стилевого файла.

keyframe – особенное @-правило CSS. Оно похоже на обычное CSS-объявление, но позволяет назначить ему собственный идентификатор и задать CSS-свойства и изменения их значений вместе со списком значений в процентах (или же использовать ключевые слова «to» и «from»).

Будет разумнее увидеть анимации в действии, так что давайте создадим простую анимацию, которая будет плавно показывать и убирать тень, которую мы раньше создали для полей ввода в состоянии: focus.

Мы назовем его «pulse» и зададим три немного различающихся правила: вначале (0%), посередине (50%) и в конце (100%). Каждое правило задает уровень прозрачности синей тени (box-shadow), от 20 до 90% и обратно на 20%. Это изменение, распределенное по времени и зацикленное, создаст эффект того, что поле ввода пульсирует, когда фокус находится на нем (только в браузерах, работающих на движке WebKit).

@-webkit-keyframes pulse {

0% {

-webkit-box-shadow: 0 0 12px rgba(51, 204, 255, 0.2);

}.

50% {

-webkit-box-shadow: 0 0 12px rgba(51, 204, 255, 0.9);

}.

100% {

-webkit-box-shadow: 0 0 12px rgba(51, 204, 255, 0.2);

}.

}.

Здесь задаются свойства только для WebKit – с помощью браузерного префикса. На протяжении всей книги мы аккуратно копировали свойства для всех браузеров и писали беспрефиксную версию. Но в этом случае, когда CSS-анимации поддерживаются лишь в Safari и Chrome и другие производители браузеров еще не определились, стоит ли вообще относить анимации к CSS, я предпочитаю писать правила только для -webkit-.