输入字段的滑动底部边框不起作用



我有一组输入字段,我想动画边框底部从左到右滑动的焦点只使用CSS动画。我尝试了下面的代码,但没有发生任何事情。我是CSS动画新手。

登录CSS

.fields
{
    color: #646c70;
    border: none;
    padding: 10px;
    width: 83%;
    position: relative;
}
.fields:after {
  display:block;
  content: '';
  border-bottom: solid 3px #019fb6;  
  transform: scaleX(0);  
  transition: transform 250ms ease-in-out;
}
.fields:focus:after { transform: scaleX(1); }
.fields:after{  transform-origin:  0% 50%; }

我不知道我做了什么。这里有一个小提琴

因为你不能在像input这样的单标签元素上使用伪元素,你可以在label中包装input,并使用span作为边界…和动画width而不是scale

label {
  display: inline-block;
  width: 83%;
  overflow: hidden;
}
.fields {
  color: #646c70;
  border: none;
  outline: none;
  padding: 10px;
  width: 100%;
}
.fields + span {
  display: block;
  border-bottom: solid 3px #019fb6;
  width: 0;
  -webkit-transition: width 250ms ease-in-out;
  transition: width 250ms ease-in-out;
}
.fields:focus + span {
  width: 110%;          /*  used calc first, but won't work on Edge  */
  -webkit-transition: width 250ms ease-in-out;
  transition: width 250ms ease-in-out;
}
<label>
  <input class="fields" id="password" type="password" placeholder="Password">
  <span></span>
</label>

相关内容

  • 没有找到相关文章

最新更新