Подтвердить что ты не робот

У вас есть элемент с двумя анимациями CSS одновременно

Я экспериментирую с анимацией WebKits.

Возможно ли, чтобы в элементе HTML одновременно выполнялось несколько анимаций?

Например:

    @-webkit-keyframes FADE 
    {
       from {
          opacity: 0;
       }
       to {
          opacity: 1;
       }
    }

    @-webkit-keyframes TRICKY 
    {
       0% {
          -webkit-transform: translate(0px,0) rotate(-5deg) skew(-15deg,0);
       }
       50% {
          -webkit-transform: translate(-100px,0) rotate(-15deg) skew(-25deg,0);
       }
       75% {
          -webkit-transform: translate(-200px,0) rotate(-5deg) skew(-15deg,0);
       }
       100% {
          -webkit-transform: translate(0px,0) rotate(0) skew(0,0);
       }
    }

// Can this element have FADE execute for 5 seconds BUT halfway between that animation
// can I then start the TRICKY animation & make it execute for 2.5 seconds?
#myEle {
    -Webkit-animation-name: FADE TRICKY;
    -Webkit-animation-duration: 5s 2.5s;
}

Выше был очень простой пример. У меня было бы много библиотек анимаций, таких как rotate, fade и т.д. И я не хочу писать специальную анимацию, если я хочу, чтобы элемент выполнял 2 анимации одновременно.

Возможно ли это...

//Not sure if this is even valid CSS: can I merge 2 animations easily like this?
@-webkit-keyframes FADETRICKY
{
   FADE TRICKY;
}
4b9b3361

Ответ 1

#myEle {
    -Webkit-animation-name: FADE,TRICKY;
    -Webkit-animation-duration: 5s,2.5s;
}

Используйте ',' нет места. Я был в Chrome версии 16.0.899.0, чтобы попробовать.

Ответ 2

Думаю, вам придется вручную объединить анимации.

Если вам нужно использовать что-то подобное в нескольких местах, я бы посмотрел на Less CSS или подобное, чтобы вы могли использовать "mixins" (например, функции) для генерации css. Я использую его для абстрагирования специфического для поставщика css, так что в основном .less файле 5 или 6 строк конкретного кода браузера могут быть заменены одним методом.