position
position 속성
position
속성을 통해 문서 상에 요소를 배치하는 방법을 설정한다. 다음과 같은 값을 줄 수 있다.
static - 기본값. 일반적인 순서에 의한 배치 설정
relative - 일반적인 순서에 의해 배치하지만 위치 조정이 가능하도록 설정
absolute - 일반적인 순서에 의해서 배치되지 않고 가장 가까운 position이 설정된 영역을 기준으로 배치 설정
fixed - 일반적인 순서에 의해서 배치되지 않고 화면으로 기준으로 배치 설정
sticky - 일반적인 순서에 의해서 배치하지만 스크롤 이동 시 지정된 위치에 부착되도록 배치 설
그리고 position과 함께 사용할 수 있는 세부 속성들은 다음과 같다.
top - 상단으로부터의 간격(offset)
bottom - 하단으로부터의 간격(offset)
left - 좌측으로부터의 간격(offset)
right - 우측으로부터의 간격(offset)
z-index - position이 설정된 영역 간의 z축 순서
static
position:static;
설정 영역은 일반적인 순서에 의해서 위치가 정해진다. 일반적인 순서라 함은 먼저 작성된 영역이 먼저 자리를 잡고, 나중에 작성된 영역은 이후에 배치되는 것을 말한다.
relative
position:relative;
설정 영역은 position:static;
과 동일한 배치가 이루어진다. 다른 점은 배치된 위치에서 top
, left
, right
, bottom
등을 통해 간격을 설정할 수 있고, z-index
설정으로 겹치는 영역에 대한 표시 순서를 설정할 수 있다는 것이다.
absolute
position:absolute;
설정 영역은 static
, relative
등과 다르게 일반적인 순서 배치가 적용되지 않는다. 가장 가까운 position
설정 영역을 기준으로 배치를 계산한다. 가장 가까운 position
설정 영역이 없을 경우 문서를 기준으로 배치한다.
가장 가까운 position
설정 영역이란 static
을 제외한 relative
, absolute
, fixed
, sticky
를 설정한 영역을 말한다.
fixed
position:fixed;
설정 영역은 static
, relative
등과 다르게 일반적인 순서 배치가 적용되지 않는다. Viewport(뷰포트)를 기준으로 배치를 계산한다. 스크롤을 통한 화면 이동이 발생해도 해당 위치에 고정되어 있다.
Viewport는 문서가 표시되는 화면의 영역을 말한다. 브라우저(Browser)의 메뉴, 테두리 등을 제외한 문서 표시 영역이라고 볼 수 있다.
sticky
position:sticky;
설정 영역은 static
과 동일하게 위치가 정해진다. 스크롤을 통한 화면 이동이 발생하여 해당 위치를 벗어나는 경우 가장 가까운 position
이 설정된 영역 내에서 fixed
와 동일하게 처리된다.
sticky의 경우 지원하지 않는 브라우저가 많이 있으니 사용 시 주의해야 한다.
지원하지 않는 브라우저를 고려해야 할 경우 Javascript 등을 활용하여 프로그래밍 처리로 구현한다.
중앙 배치
position
을 활용하여 화면 중앙에 영역을 배치할 수 있다. top
, left
또는 right
, bottom
을 각각 50%씩 부여하고 margin
이나 transform
등으로 세부 위치를 조정하는 형태이다.
z-index
z-index
속성은 position:static;
을 제외한 position
이 설정된 영역에서 z축 배치를 설정한다.
z-index
는 건물 층계로 이해할 수 있다.
z-index : 1;
- 1층에 배치z-index : 2;
- 2층에 배치z-index : -1;
- 지하 1층에 배치
하늘에서 건물을 내려다보면 높은 층부터 보이며, z-index에 따른 표시 방식도 동일하다.
Last updated