오늘은 위처럼 생긴 검색창을 만들어 볼 것이다.
<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 |