CSS3 анимационная шкала - PullRequest
       13

CSS3 анимационная шкала

11 голосов
/ 08 февраля 2012

Я пытаюсь анимировать div, чтобы при загрузке страницы он имел масштаб (0,0) и анимировал масштабирование (1,1).У меня проблема в том, что как только анимация вступает в силу, div снова масштабируется до 0.То, что я хочу, это div, чтобы оживить в масштабе (1,1) и оставаться таким.Вот мой код CSS

@-moz-keyframes bumpin {
    0% { -moz-transform: scale(0,0); }
    100%   { -moz-transform: scale(1,1); }
}

.landing .board {
    -moz-transform: scale(0,0);
    -moz-transform-origin: 50% 50%;
}

.landing .board {
    -moz-animation-name: bumpin;
    -moz-animation-duration: 1s;
    -moz-animation-timing-function: ease;
    -moz-animation-delay: 0s;
    -moz-animation-iteration-count: 1;
    -moz-animation-direction: normal;
}

Что я делаю не так?

Заранее спасибо
Мауро

Ответы [ 2 ]

11 голосов
/ 08 февраля 2012

Вы ищете animation-fill-mode:forwards, который применяет последний ключевой кадр анимации к элементу после завершения анимации. https://developer.mozilla.org/en/CSS/animation-fill-mode

-moz-animation-fill-mode: forwards
1 голос
/ 27 февраля 2012

Другой способ сделать это: если все, что вы хотите сделать, это анимировать масштабируемый элемент, вам не нужно использовать ключевые кадры. переходов будет достаточно.

.landing-board {
  -moz-transition: all 1s ease;
  /* all other css properties */
}
.landing-board.animated {
  -moz-transform: scale(1.1);
}

И очень маленький JavaScript, чтобы добавить связанный класс к вашему элементу: (Здесь я использую jquery, но это можно сделать в любом другом фреймворке или на чистом javascript)

$(window).load(function() {
  $('.landing-board').addClass('animated');
});
...