2016-09-26 3 views
0

У меня есть набор полей ввода, и я хотел бы анимировать рамку-снизу, чтобы скользить слева направо по фокусу, используя только CSS-анимацию. Я пробовал следующий код, но ничего не происходит. Я новичок в анимации CSS.Сдвижная нижняя граница полей ввода не работает

HTML

Войти

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%; } 

Я не уверен, что я сделал. Вот fiddle

+0

Вы не можете использовать ': after' селектор псевдо на' input' поле – APAD1

+0

@APAD, так что я должен использовать? – Ayan

+0

Используйте ярлык с вводом – LGSon

ответ

3

Как вы не можете использовать псевдо-элементы на отдельных элементов тегов, как input, вы можете обернуть input в label и использовать 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>

+0

Я попробовал это на скрипке, но я не вижу эффекта скольжения. – Ayan

+0

@Ayan Вот скрипка, которая работает: https://jsfiddle.net/hsLwzs61/ – LGSon

+0

да, но я действительно не вижу, как линия скользит слева направо. Вместо этого в фокусе я вижу, что граница просто загорается. – Ayan

Смежные вопросы