2016-09-26 2 views
0

私は入力フィールドのセットを持っていて、CSSアニメーションのみを使用してフォーカスを左から右にスライドさせるためにborder-bottomをアニメーション化したいと思います。私は次のコードを試しましたが、何も起こりません。 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%; } 

私は何をしたのか分かりません。ここでは、inputのような単一のタグ要素上の擬似要素を使用することはできないので、あなたがlabelinputをラップし、境界線としてspanを使用して...とwidthの代わりscaleをアニメーション化できfiddle

+0

あなたは '使用することはできません:' input'フィールド – APAD1

+0

@APADにafter'擬似セレクタを、私は何を使うべきでしょうか? – Ayan

+0

入力を持つラベルを使用 – LGSon

答えて

3

です。

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

関連する問題