我有一个关键帧动画,在某些事件发生后会改变颜色,但我无法弄清楚如何在事件结束后停止动画?
HTML(只是为了调用事件):
<div id="prt1"></div>
<div id="prt2"></div>
<div id="prt3"></div>
CSS(只是样式和关键帧动画):
#prt1 {
height:20%;
width:5%;
border:1px solid black;
top:50%;
left:0%;
animation:prt1 2s infinite;
-webkit-animation:prt1 2s infinite;
display:none;
}
@keyframes prt1 {
0% {background-color:white;}
33% {background-color:black;}
66% {background-color:white;}
100% {background-color:white;}
}
@-webkit-keyframes prt1 {
0% {background-color:white;}
33% {background-color:black;}
66% {background-color:white;}
100% {background-color:white;}
}
#prt2 {
height:30%;
width:5%;
border:1px solid black;
left:0%;
top:50%;
animation:prt2 2s infinite;
-webkit-animation:prt2 2s infinite;
display:none;
}
@keyframes prt2 {
0% {background-color:white;}
33% {background-color:white;}
66% {background-color:black;}
100% {background-color:white;}
}
@-webkit-keyframes prt2 {
0% {background-color:white;}
33% {background-color:white;}
66% {background-color:black;}
100% {background-color:white;}
}
#prt3 {
height:49%;
width:5%;
border:1px solid black;
left:0%;
top:50%;
animation:prt3 2s infinite;
-webkit-animation:prt3 2s infinite;
display:none;
}
@keyframes prt3 {
0% {background-color:white;}
33% {background-color:white;}
66% {background-color:white;}
100% {background-color:black;}
}
@-webkit-keyframes prt3 {
0% {background-color:white;}
33% {background-color:white;}
66% {background-color:white;}
100% {background-color:black;}
}
答案 0 :(得分:11)
您需要设置animation-iteration-count
:
animation-iteration-count: 1;
有关详细信息,请查看:
https://developer.mozilla.org/en-US/docs/Web/CSS/animation-iteration-count
...和:
http://css-tricks.com/snippets/css/keyframe-animation-syntax/
您提供的信息非常有限。这个解决方案可能不是您正在寻找的。在您的问题中添加更多详细信息,如有必要,我会更新此答案。
供应商前缀:您可以添加供应商前缀(-webkit-, - moz - , - o-),例如: browser support -webkit-animation-iteration-count: 1;
并定位特定浏览器,允许为其设置自定义值。
答案 1 :(得分:1)
.class {
animation: rotation 1s forwards;
}
@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(180deg);
}
无限的反面是向前。