Подсказки на компьютерную тематику

Можно подсмотреть, если забыли…

Как сделать анимацию в CSS

Начало создании анимации CSS с помощью правила @keyframes


Анимация начинается с создания кадров для получения нужного результата в правиле @keyframes на CSS.
В этом сегменте кода для каждой функции надо придумать название и прописать действия для каждого этапа анимации.

Пример оформления кода и прописывания функций


Рабочий образец сегмента кода:
@keyframes peremennaya {
0% { left: 0; color:red; }
25% { left: 50; color:green; }
50% { top: 50; color:blue; }
75% { right: 50; color:grey; }
100% { bottom: 50; color:broun; }
}

    Обозначения в коде:

  • в процентах обозначаются этапы анимации, также можно использовать значения from и to, вместо 0% и 100% соответственно,
  • peremennaya – это название для этой анимации,
  • браузеры до версий Chrome 43, Opera 30, Safari 9 и Android поддерживают @-webkit-keyframes,
  • браузеры Firefox до 16 версии поддерживает @-moz-keyframes,
  • в фигурных скобках прописывается стиль элемента в каждый момент времени.

Подключение анимации в стиль элемента CSS


Созданный код для анимации поключаем к стилю элемента, в котором он будет срабатывать, путем добавления имени правила peremennaya к свойству animation. Например:
#block{
width: 200px;
height: 100px;
background-color: red;
position: absolute;

animation: peremennaya 3s ease-in-out infinite;
}

Создание анимации на чистом CSS

    Свойство animation содержит несколько параметров и их можно указать двумя способами:

  • в одну строку:
    animation: animation-duration || animation-timing-function ||
    animation-delay || animation-iteration-count || animation-direction ||
    animation-fill-mode || animation-play-state || [none | animation-name]
    ,
  • построчно (указаны значения по-умолчанию):
    animation-name: none /*@keyframes имя_анимации*/;
    animation-duration: 0s/*сколько должен длиться один цикл анимации*/;
    animation-timing-function: ease/*в каждый момент времени может быть разная скорость анимации*/;
    animation-delay: 0s/*время ожидания перед запуском анимации*/;
    animation-iteration-count: 1/*сколько раз проигрывать цикл анимации до её остановки*/;
    animation-direction: normal/*направление анимации - с начала или с конца*/;
    animation-fill-mode: none /*стиль элемента, когда анимация не проигрывается.*/;
    animation-play-state: running /*проигрывать анимацию или поставить её на паузу*/;

Для каждого браузера используются свои свойства для animation:
Chrome, Safari и Android поддерживают свойство -webkit-animation.
Opera до версии 12.10 поддерживает свойство -o-animation.
Firefox до версии 16 поддерживает свойство -moz-animation.

Создание CSS трансформации


Элементы html сайтов можно преобразовать, если добавить в стиль элемента свойство transform, которое позволяет масштабировать, вращать, сдвигать, наклонять элемент. Можно сочетать виды трансформаций, если перечислить функции через пробел.

    Использование в браузерах:

  • Internet Explorer 9 поддерживает свойство -ms-transform,
  • Chrome до версии 36, Safari до версии 9, Opera до версии 23 и Android поддерживают свойство -webkit-transform,
  • Opera до версии 12.1 и с версии 15 до 23 поддерживает свойство -o-transform,
  • Firefox до версии 16 поддерживает свойство -moz-transform.

Как сделать анимацию в CSS

Начало создании анимации CSS с помощью правила @keyframes


Анимация начинается с создания кадров для получения нужного результата в правиле @keyframes на CSS.
В этом сегменте кода для каждой функции надо придумать название и прописать действия для каждого этапа анимации.

Пример оформления кода и прописывания функций


Рабочий образец сегмента кода:
@keyframes peremennaya {
0% { left: 0; color:red; }
25% { left: 50; color:green; }
50% { top: 50; color:blue; }
75% { right: 50; color:grey; }
100% { bottom: 50; color:broun; }
}

    Обозначения в коде:

  • в процентах обозначаются этапы анимации, также можно использовать значения from и to, вместо 0% и 100% соответственно,
  • peremennaya – это название для этой анимации,
  • браузеры до версий Chrome 43, Opera 30, Safari 9 и Android поддерживают @-webkit-keyframes,
  • браузеры Firefox до 16 версии поддерживает @-moz-keyframes,
  • в фигурных скобках прописывается стиль элемента в каждый момент времени.

Подключение анимации в стиль элемента CSS


Созданный код для анимации поключаем к стилю элемента, в котором он будет срабатывать, путем добавления имени правила peremennaya к свойству animation. Например:
#block{
width: 200px;
height: 100px;
background-color: red;
position: absolute;

animation: peremennaya 3s ease-in-out infinite;
}

Создание анимации на чистом CSS

    Свойство animation содержит несколько параметров и их можно указать двумя способами:

  • в одну строку:
    animation: animation-duration || animation-timing-function ||
    animation-delay || animation-iteration-count || animation-direction ||
    animation-fill-mode || animation-play-state || [none | animation-name]
    ,
  • построчно (указаны значения по-умолчанию):
    animation-name: none /*@keyframes имя_анимации*/;
    animation-duration: 0s/*сколько должен длиться один цикл анимации*/;
    animation-timing-function: ease/*в каждый момент времени может быть разная скорость анимации*/;
    animation-delay: 0s/*время ожидания перед запуском анимации*/;
    animation-iteration-count: 1/*сколько раз проигрывать цикл анимации до её остановки*/;
    animation-direction: normal/*направление анимации - с начала или с конца*/;
    animation-fill-mode: none /*стиль элемента, когда анимация не проигрывается.*/;
    animation-play-state: running /*проигрывать анимацию или поставить её на паузу*/;

Для каждого браузера используются свои свойства для animation:
Chrome, Safari и Android поддерживают свойство -webkit-animation.
Opera до версии 12.10 поддерживает свойство -o-animation.
Firefox до версии 16 поддерживает свойство -moz-animation.

Создание CSS трансформации


Элементы html сайтов можно преобразовать, если добавить в стиль элемента свойство transform, которое позволяет масштабировать, вращать, сдвигать, наклонять элемент. Можно сочетать виды трансформаций, если перечислить функции через пробел.

    Использование в браузерах:

  • Internet Explorer 9 поддерживает свойство -ms-transform,
  • Chrome до версии 36, Safari до версии 9, Opera до версии 23 и Android поддерживают свойство -webkit-transform,
  • Opera до версии 12.1 и с версии 15 до 23 поддерживает свойство -o-transform,
  • Firefox до версии 16 поддерживает свойство -moz-transform.