Увеличить скорость анимации css3

#css #animation

#css #Анимация

Вопрос:

 .bg-grass{
width: 100%; 
height: 290px; 
background-size: :100%;
background-image: url(../graphic/background/001.png);
background-position: 0px 0px;
background-repeat: repeat-x;
animation: animatedBackground 20s linear infinite;
-ms-animation: animatedBackground 20s linear infinite;
-moz-animation: animatedBackground 20s linear infinite;
-webkit-animation: animatedBackground 20s linear infinite;
 

}

 .grass-speed2{
animation: animatedBackground 5s linear infinite;
-ms-animation: animatedBackground 5s linear infinite;
-moz-animation: animatedBackground 5s linear infinite;
-webkit-animation: animatedBackground 5s linear infinite ;
 

}

У меня есть два класса css, один из которых должен иметь обычную анимацию, а другой — ускорить ее. Сценарий будет заключаться в том, что в определенное время класс grass-speed2 будет добавлен в bg-grass, чтобы ускорить скорость. Он отлично работает в Firefox, но не работает в Chrome. Не уверен, почему. Также есть ли способ заставить его продолжать, в какой фоновой позиции он находится в данный момент, когда скорость увеличивается?

ПРАВКА 1

Я забыл добавить в ключевой кадр css

 @keyframes animatedBackground {
from { background-position: 0 0; }
to { background-position: 100% 0; }
 

}

Ответ №1:

Это может быть лучше обработано с помощью ключевых кадров анимации. Вместо того, чтобы использовать разные классы, попробуйте, возможно, использовать разные проценты в ключевых кадрах в сочетании с секундами. Вот пример использования top . Конечно, вы можете заменить это (или добавить больше) более подходящим типом анимации.

 @keyframes animatedTop {
    0% {
        top: 0;
    }
    90% {
        top: 5px;
    }
    100% {
        top: 8px;
    } 
}
 

Не забудьте включить префиксы.

 /* @-webkit-
   @-moz-
   @-o-
*/
 

И вы можете вызвать свою анимацию с помощью.

 .myClass {
    animation: animatedTop 15s;
}
 

Комментарии:

1. привет, Линдей, у меня уже есть ключевой кадр, который я только что обновил. Итак, вы предлагаете мне сделать несколько ключевых кадров, чтобы ускорить скорость?

2. Привет @lilsizzo! Я бы предложил создать один класс анимации, а затем использовать несколько ключевых кадров (у вас может быть столько, сколько 0% — 100% [таким образом, это может быть 1%, 2% и т.д.]), Чтобы отрегулировать время. Кроме того, я раньше не пробовал создавать ключевой кадр, который встречается от 0,01% до 0,1%. Возможно, этот метод может привести к еще большей медлительности.

Ответ №2:

Пожалуйста, загрузите свой код где-нибудь и сделайте демонстрацию, чтобы мы могли разобраться в реальной проблеме. Просто небольшое замечание, не забудьте также добавить префикс браузера перед ключевым кадром css:

 @-webkit-keyframes animatedBackground{...}
@-moz-keyframes animateBackground{...}
@-o-keyframes animateBackground{....}
 

Возможно, это может решить вашу проблему.

Наслаждайтесь анимацией ключевых кадров css!