[装飾系]Input Text フォーカでボーダーの色が左上からぐるっと切り替わる

CSS HTML
 
 

フォーカでボーダーの色が左上からぐるっと切り替わる

シンプルなInput Textデザインですが、フォーカでボーダーの色が左上からぐるっと切り替わります。
さらにエリアにあった名前が上に上がります。

browser:  ✔︎ ✔︎ ✔︎ 
ニャン易度 
<div class="cp_iptxt">
  <input class="ef" type="text" placeholder="">
  <label>お名前</label>
  <span class="focus_line"><i></i></span>
</div>
<div class="cp_iptxt">
  <input class="ef" type="text" placeholder="">
  <label>E-Mail</label>
  <span class="focus_line"><i></i></span>
</div>
.cp_iptxt {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin: 20px 0;
}
.cp_iptxt input[type='text'] {
  font: 15px/1.6 sans-serif;
  width: 100%;
  padding-left: 4em;
  border: 1px solid #1b2538;
  background: transparent;
  border-radius: 0;
  outline: none;
}
.cp_iptxt .ef {
  padding: 7px 14px;
  border: 1px solid #1b2538;
  background: transparent;
  transition: 0.4s;
}
.cp_iptxt .ef ~ .focus_line:before,
.cp_iptxt .ef ~ .focus_line:after {
  position: absolute;
  top: 0;
  right: 0;
  content: '';
  width: 0;
  height: 2px;
  background-color: #da3c41;
  transition-delay: 0.2s;
  transition: 0.2s;
}
.cp_iptxt .ef ~ .focus_line:after {
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  transition-delay: 0.6s;
}
.cp_iptxt .ef ~ .focus_line i:before,
.cp_iptxt .ef ~ .focus_line i:after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 2px;
  height: 0;
  background-color: #da3c41;
  transition: 0.2s;
}
.cp_iptxt .ef ~ .focus_line i:after {
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
  transition-delay: 0.4s;
}
.cp_iptxt .ef ~ label {
  position: absolute;
  left: 14px;
  color: #aaaaaa;
  transition: 0.3s;
}
.cp_iptxt .ef:focus ~ .focus_line:before,
.cp_iptxt .ef:focus ~ .focus_line:after {
  width: 100%;
  transition: 0.2s;
  transition-delay: 0.6s;
}
.cp_iptxt .ef:focus ~ .focus_line:after {
  transition-delay: 0.2s;
}
.cp_iptxt .ef:focus ~ .focus_line i:before,
.cp_iptxt .ef:focus ~ .focus_line i:after {
  height: 100%;
  transition: 0.2s;
}
.cp_iptxt .ef:focus ~ .focus_line i:after {
  transition-delay: 0.4s;
}
.cp_iptxt .ef:focus ~ label {
  font-size: 12px;
  top: -18px;
  left: 0;
  color: #da3c41;
  transition: 0.3s;
}

copypet.jp

CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。

More Info

こんな記事はいかがですか?