gpt4 book ai didi

jquery - CSS3动画中的闪烁

转载 作者:可可西里 更新时间:2023-11-01 14:46:58 26 4
gpt4 key购买 nike

在动画真正开始之前,从目标点到初始点有动画的闪烁。如果你第二次运行它,它会很明显。

我必须在同一个页面上多次使用它。因此我需要它不闪烁。

http://jsfiddle.net/wb0m9L3h/

@-webkit-keyframes sjl {
from {
background-position: 0px -5000px;
}
to {
background-position: 0px 0px;
}
}
@-moz-keyframes sjl {
from {
background-position: 0px -5000px;
}
to {
background-position: 0px 0px;
}
}
@-ms-keyframes sjl {
from {
background-position: 0px -5000px;
}
to {
background-position: 0px 0px;
}
}
@-o-keyframes sjl {
from {
background-position: 0px -5000px;
}
to {
background-position: 0px 0px;
}
}
@keyframes sjl {
from {
background-position: 0px -5000px;
}
to {
background-position: 0px 0px;
}
}
.sjl
/*Squirrel jump left*/
{
width: 300px;
height: 250px;
-webkit-perspective: 1000; //tried to use this and the 3 lines below but in every combination, even placing it in body but doesn't solve the problem
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
-webkit-transform:translate3d(0, 0, 0);
-webkit-animation: sjl 1.5s steps(20) alternate;
-moz-animation: sjl 1.5s steps(20) alternate;
-ms-animation: sjl 1.5s steps(20) alternate;
-o-animation: sjl 1.5s steps(20) alternate;
animation: sjl 1.5s steps(20) alternate;
background-image:url(http://s9.postimg.org/io6wluqhb/Sjl.png) !important;
position: absolute;
float: left;
top: 120px;
left: 10px;
z-index: 999;
}

最佳答案

animation-timing-function 中的 steps 属性有点误导。

如果您有 20 张图片,那么如果步数不是 20,则为 19。数字越小越清晰。如果只有 2 个状态,则步数仅为 1。

因此,您将在动画结束时重复第一帧。

您还需要调整关键帧的 background-position 属性,最后一个值不应该是图像的总大小,而是到达那里的位移。另一种计算方法是它是您当前值的 19/20。

here 您可以并排看到 2 个动画。请注意,在左侧(原始的)中,有一个错误的框架,它没有出现在右侧的框架中。

@-webkit-keyframes sjl {
from { background-position: 0px -5000px; }
to { background-position: 0px 0px; }
}
@keyframes sjl {
from { background-position: 0px -5000px; }
to { background-position: 0px 0px; }
}
.sjl
{
width: 300px;
height: 250px;
-webkit-animation: sjl 2s steps(20) alternate infinite;
animation: sjl 2s steps(20) alternate;
background-image:url(http://s9.postimg.org/io6wluqhb/Sjl.png) !important;
position: absolute;
z-index: 999;
}

@-webkit-keyframes sjlok {
from { background-position: 0px -4750px; }
to { background-position: 0px 0px; }
}
@keyframes sjlok {
from { background-position: 0px -4750px; }
to { background-position: 0px 0px; }
}

#ok {
left: 300px;
-webkit-animation: sjlok 2s steps(19) alternate infinite;
animation: sjlok 2s steps(19) alternate;
}
<body>
<div class="sjl"></div>
<div class="sjl" id="ok"></div>
</body>

关于jquery - CSS3动画中的闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28901065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com