본문 바로가기

Language/HTML&CSS

[CSS] Position relative와 absolute 활용

 

HTML가 순서대로 작성한 코드대로 화면에 보여졌다면,

CSS의 Position 속성은 원하는 요소에 위치를 지정(속성:top, bottomleft, right)할 수 있다.

 

Position의 사용값은 5가지이다.

  • static : 기본값
  • relative : 기본 위치에서 상대적으로 배치
  • absolute : 가장 가까운 상위 요소 기준으로 배치
  • fixed : 지정된 위치에 고정
  • sticky : 스크롤시 상위 요소 기준으로 지정된 위치에 고정

 


 

아래 이미지를 구현

 

1. HTML 구조

[HTML]

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>repl.it</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div>
    <input type="text" placeholder="검색어 입력">
    <img src="https://s3.ap-northeast-2.amazonaws.com/cdn.wecode.co.kr/icon/search.png">
    </div>
  </body>
</html>

 

  • <input> 태그로 검색어 입력창을, <img> 태그로 돋보기 이미지를 추가한다.
  • 두 개의 요소를 <div>로 감싸준다.

 

 

 

2. 스타일링

[CSS]

div {
  position: relative;      → parents

  width: 300px;
}

 

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

 

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

 

  • 검색 입력창을 스타일링한다.
  • div position을 부모로 지정한다.
  • 돋보기 이미지를 자식으로 지정하여 부모 요소를 기준으로 위치를 설정한다.