我已经为某个div设置了动画。

.Animation
{
-webkit-animation-fill-mode: both; /*and also -moz, -ms etc. */
animation-fill-mode: both;
-webkit-animation-delay: 1s;
animation-delay: 1s;
-webkit-animation-duration: 2s;
animation-duration: 2s;
}

@-webkit-keyframes scaleAnimation /*and also -moz, -ms etc. */
{
0%
{
    opacity: 0;
    -webkit-transform: scale(2);
}

100%
{
    opacity: 1;
    -webkit-transform: scale(1);
}
}

.ScaleAnimation
{
-webkit-animation-name: scaleAnimation;  /*and also -moz, -ms etc. */
animation-name: scaleAnimation;
}


但是我希望为不透明度提供不同的自定义缓动(三次贝塞尔曲线),并为变换提供另一个自定义缓动。我如何使它工作。

以下无效:

transition: opacity 1s ease-in-out;
transition: scale 1s ease-in-out;


因此,绝对无法使用自定义的简易三次贝塞尔曲线(0.555,-0.130,0.270,1.075);例如。

有什么想法吗? :)

最佳答案

对于过渡,您可以通过用逗号分隔来指定多个过渡。

transition: <duration> <property> <delay> <timing-function>, ....
transition: 1s opacity 1s ease-in-out, 1s scale 1s linear;


如果要执行动画/关键帧路线,则可以创建两个动画关键帧。一个用于缩放,另一个用于不透明度。然后在元素的动画设置中将它们逗号分隔。

缓动的属性是animation-timing-function。对于基于Webkit的浏览器(从您的问题看来,您不介意供应商前缀),它变为-webkit-animation-timing-function

您可以按照以下代码段进行设置:



div {
    width: 120px; height: 120px;
    background-color: red;
    display: inline-block;
}

div.d1 {
    -webkit-animation-fill-mode: both;
    -webkit-animation-delay: 2s, 2s;
    -webkit-animation-duration: 2s, 2s;
    -webkit-animation-name: scaleAnimation, opacityAnimation;
    -webkit-animation-timing-function:
        cubic-bezier(0.1, 0.7, 1.0, 0.1),  ease-in;
}

div.d2 {
    -webkit-animation-fill-mode: both;
    -webkit-animation-delay: 2s, 2s;
    -webkit-animation-duration: 2s, 2s;
    -webkit-animation-name: scaleAnimation, opacityAnimation;
    -webkit-animation-timing-function: linear linear;
}

@-webkit-keyframes scaleAnimation {
    0% {
        -webkit-transform: scale(2);
    }
    100% {
        -webkit-transform: scale(1);
    }
}

@-webkit-keyframes opacityAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

<div class="d1">D1</div>
<div class="d2">D2</div>





小提琴:http://jsfiddle.net/abhitalks/3y7pcd1t/1/

07-24 18:04