HTML
과 CSS
를 복습겸 공부하는 중 자주 헷갈리는 개념인 Position
속성에 대해 정리하고 넘어가고자 한다.
포지션 속성은 문서상의 요소를 배치하는 방법으로 top
, right
, bottom
, left
속성이 요소를 배치할 최종 위치를 결정하게 된다.
Static
은 Position
속성에서 아무런 값을 지정하지 않았을 때 적용되는 기본값으로 요소를 일반적인 문서의 흐름대로 배치한다. 정적인 값으로 top
, right
, bottom
, left
속성을 사용하지 않는다. Static은 잘 사용되어지지 않는다.
Relative
는 자기 자신을 기준으로 원하는 위치로 이동하고자 할때 사용하고 별도의 top
, right
, bottom
, left
의 값을 주지 않는다면 Static
과 동일하게 동작한다.
위의 코드를 보면 position: relative;
를 적용하고 top: -20px;
, left: 20px;
를 적용했을 때를 알 수 있다. 기존의 본인 위치에서 지정해준 만큼 움직였다.
Absolute
는 가장 가까운 부모 요소를 기준으로 배치한다. top
, right
, bottom
, left
로 위치를 지정할 수 있으며 Absolute
를 자식요소에 지정해주기 위해서 부모요소에는 Relative
속성값을 넣어줘야 한다. 만약 따로 지정해놓은 부모 요소가 없다면 본문(document body)를 기준으로 삼는다.
부모요소에는 position: relative;
를 자식요소인 빨간색의 absolute-box
에는 position: absolute;
값을 주었다. 그리고 top: 40px;
과 left: 20px;
를 주게되면 부모요소의 위치를 기준으로 이동하게 된는걸 확인할 수 있다.
fixed
는 페이지를 스크롤로 움직이더라도 계속 같은 곳에 고정되어있는 속성 값이다. top
, right
, bottom
, left
로 위치를 지정할 수 있다.
위 코드를 보면 스크롤을 내려도 노란색의 position: fixed;
를 적용한 박스는 계속 그 자리인 것을 확인할 수 있다.
참조
🔗 position
🔗 Learn CSS Layout