问题 CSS3动画比例


我正在尝试为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;
}

我究竟做错了什么?

提前致谢
毛罗


6704
2018-02-08 15:50


起源

它似乎完全重复 stackoverflow.com/questions/6897724/... - fcalderan


答案:


您正在寻找 animation-fill-mode:forwards 在动画完成时将最后一个关键帧应用于元素。 https://developer.mozilla.org/en/CSS/animation-fill-mode

-moz-animation-fill-mode: forwards

11
2018-02-08 16:46





另一种方法:如果你想做的就是为要缩放的元素设置动画,你不需要使用关键帧。过渡就足够了。

.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');
});

1
2018-02-26 20:50



我尝试过它并没有用 - Murhaf Sousli