【问题标题】:CSS animation keeps resetting after complete [duplicate]CSS动画在完成后不断重置[重复]
【发布时间】:2021-05-31 09:27:47
【问题描述】:

我正在尝试使当 <input> 获得焦点时,输入栏的宽度会延伸到按钮之外。它可以工作,但由于某种原因它不会保持拉伸状态(它会恢复其初始宽度)。

我做错了什么?

这是一个小提琴: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");
});

【问题讨论】:

    标签: javascript css animation keyframe


    【解决方案1】:

    尝试添加~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;
    }

    【讨论】:

      猜你喜欢
      • 2017-07-11
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      相关资源
      最近更新 更多