CSS动画完成后不断重置
CSS animation keeps resetting after complete
我正在尝试使 <input>
聚焦时,输入栏的宽度延伸超过按钮。它可以工作,但由于某种原因它不会保持拉伸状态(它会恢复其初始宽度)。
我做错了什么?
这是一个fiddle:https://jsfiddle.net/v4bu0k8j/
CSS:
#main {
display:flex;
position:relative;
}
#txt {
width:125px;
position:absolute;
z-index:2;
}
#btn {
margin-left:140px;
position:absolute;
z-index:1;
}
@keyframes widen {
0% {
width:125px;
}
100% {
width:300px;
}
}
.openSearch {
-webkit-transition: widen .5s ease-in;
-moz-transition: widen .5s ease-in;
-o-transition: widen .5s ease-in;
animation: widen .5s ease-in;
}
Javascript
const search = document.getElementById("txt");
search.addEventListener("focus", event => {
search.classList.add("openSearch");
});
尝试添加 ~ animation-fill-mode: forwards;
.openSearch {
-webkit-transition: widen .5s ease-in;
-moz-transition: widen .5s ease-in;
-o-transition: widen .5s ease-in;
animation: widen .5s ease-in;
/* Try adding this */
animation-fill-mode: forwards;
}
我正在尝试使 <input>
聚焦时,输入栏的宽度延伸超过按钮。它可以工作,但由于某种原因它不会保持拉伸状态(它会恢复其初始宽度)。
我做错了什么?
这是一个fiddle:https://jsfiddle.net/v4bu0k8j/
CSS:
#main {
display:flex;
position:relative;
}
#txt {
width:125px;
position:absolute;
z-index:2;
}
#btn {
margin-left:140px;
position:absolute;
z-index:1;
}
@keyframes widen {
0% {
width:125px;
}
100% {
width:300px;
}
}
.openSearch {
-webkit-transition: widen .5s ease-in;
-moz-transition: widen .5s ease-in;
-o-transition: widen .5s ease-in;
animation: widen .5s ease-in;
}
Javascript
const search = document.getElementById("txt");
search.addEventListener("focus", event => {
search.classList.add("openSearch");
});
尝试添加 ~ animation-fill-mode: forwards;
.openSearch {
-webkit-transition: widen .5s ease-in;
-moz-transition: widen .5s ease-in;
-o-transition: widen .5s ease-in;
animation: widen .5s ease-in;
/* Try adding this */
animation-fill-mode: forwards;
}