🧚🏻‍♂️ HTML , CSS

검색창 만들기

ji-hyun 2021. 11. 2. 22:26

 

오늘은 위처럼 생긴 검색창을 만들어 볼 것이다.

 

 

<div class="search">
  <input type="text" placeholder="검색어 입력">
  <img src="https://s3.ap-northeast-2.amazonaws.com/cdn.wecode.co.kr/icon/search.png">
</div>

 

 

div 태그 안에는 input 태그, img 태그가 들어있다.

 

 

 

.search {
  position: relative;
  width: 300px;
}

input {
  width: 100%;
  border: 1px solid #bbb;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
}

img {
  position : absolute;
  width: 17px;
  top: 10px;
  right: 12px;
  margin: 0;
}

 

 

부모 태그를 relative 를 하고, input 태그를 width: 100% 를 주어서 부모 공간을 꽉 차게 만든다.

 

그 후 돋보기 이미지를 부모 태그 안으로 배치하기 위해서는 position: absolute; 속성을 주어야 한다.

 

 

 

 


 

 

이번엔 검색창 부분에 세 개의 아이콘이 들어 있다.

 

 

<div class="search-mode">
    <input type="text" >

    <div class="icon">
      <div class="search">
        <i class="fas fa-search"></i>
      </div>

      <div class="plus-option">
        <i class="fas fa-keyboard"></i>
        <i class="fas fa-microphone"></i>
      </div>
    </div>

    </div>
    </div>

 

 

위의 코드와 마찬가지로 먼저 부모 태그(search-mode)에 position: relative 속성을 주고 시작해야 한다.

그리고 input 태그는 부모 태그를 꽉 채운다.

그 후 아이콘은 두 덩어리로 먼저 나누었는데 이때 justify-content: space-between 속성을 쓴다.

아이콘은 자식 태그이므로 position: absolute 속성을 주어서 부모 태그 안에 위치할 수 있게 한다. icon 의 위치 범위를 left, right 를 주어서 범위를 지정하는 방법을 고려해보았다.

 

 

 

.search-mode {
  position: relative;
  width: 400px;
  height: 30px;
  margin: 10px auto;
}

input {
  border: 1px solid #F1F1F1;
  border-radius: 50px;
  width: 100%;
  height: 100%;
  
}

.icon {
  
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 5px;
  right: 10px;
  left: 10px;
  
  
}

.search {
  color: #808080;
}

.plus-option i {
  display: inline-block;
  margin-left: 5px;
}


.plus-option i:nth-child(2){
  color: #4F86EC; 
}

 

 

 

 

 

 

'🧚🏻‍♂️ HTML , CSS' 카테고리의 다른 글

CSS 그리드를 이용한 이미지 갤러리  (0) 2021.09.29
CSS - 애니메이션 속성  (0) 2021.09.28
CSS - transition 속성  (0) 2021.09.28
CSS - grid 속성  (0) 2021.09.27
CSS - 가변형 그리드 (옛날 방식)  (0) 2021.09.27