由于某些原因,@ keyframes规则对我不起作用,有人可以告诉我我要去哪里了。
我能想到的唯一解决方法是-webkit-,但这似乎完全没有帮助。
.keyframe {
height: 15px;
width: 50px;
background-color: red;
-webkit-transition: width 4s;
}
.keyframe:hover {
width: 250px;
}
@-webkit-keyframes keyframe {
0% {
-webkit-background-color: red;
}
50% {
-webkit-background-color: yellow;
}
70% {
-webkit-background-color: blue;
}
100% {
-webkit-background-color: green;
}
}
<div class="keyframe"></div>
我期望颜色会随着条形图达到最大宽度而改变,但是,条形图根本不会改变颜色。
最佳答案
您需要指定将在:hover
内部调用的动画
同样,将animation
键添加到forwards
属性,以使其在动画的结尾处停止(然后它不会恢复为红色)。 (我从CSS中删除了-webkit
,因为我认为这确实没有必要)
我的提示还在于将keyframe
的名称更改为指定动画功能的名称,例如change-bgColor
或类似名称。
.keyframe {
height: 15px;
width: 50px;
background-color: red;
-webkit-transition: width 4s;
}
.keyframe:hover {
width: 250px;
animation: change-bgColor 4s linear forwards;
}
@keyframes change-bgColor {
0% {
background-color: red;
}
50% {
background-color: yellow;
}
70% {
background-color: blue;
}
100% {
background-color: green;
}
}
<div class="keyframe"></div>
关于html - @keyframes无法正常工作,我已经尝试了所有我能想到的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57525572/