실전퍼블리싱(폰트어썸을 사용한 입력필드)

Dev_Go·2022년 7월 11일
0
post-thumbnail

폰트어썸을 사용한 입력필드


예제보기

HTML

  <form class="info">
    <!-- 첫번째 디자인 -->
    <div class="item">
      <input type="text" placeholder="Your Name">
      <span class="material-icons">
        person
      </span>
    </div>
    <div class="item">
      <input type="Email" placeholder="Email">
      <span class="material-icons">
        email
      </span>
    </div>
    <div class="item">
      <input type="tel" placeholder="Phone Number">
      <span class="material-icons">
        phone
      </span>
    </div>

    <!-- 두번째 디자인 -->
    <div class="item item2">
      <input type="text" placeholder="Your Name">
      <span class="material-icons">
        person
      </span>
    </div>
    <div class="item item2">
      <input type="Email" placeholder="Email">
      <span class="material-icons">
        email
      </span>
    </div>
    <div class="item item2">
      <input type="tel" placeholder="Phone Number">
      <span class="material-icons">
        phone
      </span>
    </div>
  </form>

CSS

body {
  font-family: 'Noto Sans KR', sans-serif;
  color: #222;
  line-height: 1.5em;
  margin: 0;
  font-weight: 300;
  /* 수직 수평 중앙 */
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
a {
  color: #222;
  text-decoration: none;
}

.item {
  /* border: 1px solid red; */
  width: 300px;
  margin-bottom: 10px;
  position: relative;
}
.item input[type=text],
.item input[type=email],
.item input[type=tel] {
  border: 1px solid lightgray;
  height: 40px;
  width: inherit;
  border-radius: 5px;
  padding: 10px;
  box-sizing: border-box;
  padding-left: 40px;
  outline: none;
  transition: 0.3s;
}
.item .material-icons {
  /* border: 1px solid blue; */
  position: absolute;
  top: 0;
  left: 0;
  color: gray;
  font-size: 20px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  transition: 0.3s;
}
.item input:focus {
  border: 1px solid dodgerblue;
  box-shadow: 0 0 5px dodgerblue;
}
.item input:focus + .material-icons {
  color: dodgerblue;
}
.item input:focus::placeholder {
  visibility: hidden;
}

/* 두번째 디자인 */
.item2 input[type=text],
.item2 input[type=email],
.item2 input[type=tel] {
  padding-left: 50px;
}
.item2 .material-icons {
  color: #fff;
  background-color: gray;
  border-radius: 5px 0 0 5px;
}
.item2 input:focus {
  border: 1px solid dodgerblue;
  box-shadow: 0 0 5px dodgerblue;
}
.item2 input:focus + .material-icons {
  background-color: dodgerblue;
  color: #fff;
}
profile
프론트엔드 4년차

0개의 댓글