如何放慢关键帧动画?
How do I slow down a keyframe animation?
我有这个代码:
.blur {
-webkit-animation: blur 5s ;
-webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes blur {
0% { -webkit-filter: blur(0px); }
0% { -webkit-filter: blur(1px); }
50% { -webkit-filter: blur(5px); }
60% { -webkit-filter: blur(5px); }
100% {
opacity: 0;
}
}
<img src="http://placehold.it/350x150" class="blur" />
基本上我有一张图片,我想要的效果是慢慢淡入,模糊,然后淡出。但是当它模糊时,我希望它在那里停留几秒钟,然后淡出画面。你能帮帮我吗?谢谢
考虑到关键帧,您想让动画知道何时开始淡入淡出。否则,它假定您在动画持续时间内努力达到最终的不透明度。
为防止这种情况,请在开始淡入淡出之前将 opacity
固定在 1。你可以尝试这样的事情:
.blur {
-webkit-animation: blur 5s ;
-webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes blur {
0% { -webkit-filter: blur(0px); }
0% { -webkit-filter: blur(1px); }
50% { -webkit-filter: blur(5px); }
60% { -webkit-filter: blur(5px); }
90% {
-webkit-filter: blur(5px);
opacity: 1;
}
100% {
opacity: 0;
}
}
<img src="http://placehold.it/350x150" class="blur" />
上面的代码只在动画的最后 10% 开始淡出 - 否则,模糊的图像会一直存在。您可以使用 .blur
持续时间和关键帧百分比来微调此持续时间(更大的百分比传播 = 淡出前的时间更长)。
我有这个代码:
.blur {
-webkit-animation: blur 5s ;
-webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes blur {
0% { -webkit-filter: blur(0px); }
0% { -webkit-filter: blur(1px); }
50% { -webkit-filter: blur(5px); }
60% { -webkit-filter: blur(5px); }
100% {
opacity: 0;
}
}
<img src="http://placehold.it/350x150" class="blur" />
基本上我有一张图片,我想要的效果是慢慢淡入,模糊,然后淡出。但是当它模糊时,我希望它在那里停留几秒钟,然后淡出画面。你能帮帮我吗?谢谢
考虑到关键帧,您想让动画知道何时开始淡入淡出。否则,它假定您在动画持续时间内努力达到最终的不透明度。
为防止这种情况,请在开始淡入淡出之前将 opacity
固定在 1。你可以尝试这样的事情:
.blur {
-webkit-animation: blur 5s ;
-webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes blur {
0% { -webkit-filter: blur(0px); }
0% { -webkit-filter: blur(1px); }
50% { -webkit-filter: blur(5px); }
60% { -webkit-filter: blur(5px); }
90% {
-webkit-filter: blur(5px);
opacity: 1;
}
100% {
opacity: 0;
}
}
<img src="http://placehold.it/350x150" class="blur" />
上面的代码只在动画的最后 10% 开始淡出 - 否则,模糊的图像会一直存在。您可以使用 .blur
持续时间和关键帧百分比来微调此持续时间(更大的百分比传播 = 淡出前的时间更长)。