
position 속성은 요소에 사용되는 위치를 지정하는데 사용된다. 이 속성을 사용하여 요소를 문서의 특정 위치에 배치하거나 다른 요소들과의 상대적인 위치에 배치할 수 있다.
position 속성의 속성값에는 5가지가 있다.
1. static
static은 항상 요소를 일반적인 흐름에 따라 배치한다. 기본 속성값으로 position 속성을 사용하지 않았을 경우에 요소들은 static 값이다.z-index속성이 아무런 영향도 주지 않는다.top right bottom left 같은 상하좌우 속성의 영향을 받지 않는다.top right bottom left의 값에 따라 offset을 적용한다. offset은 다른 요소에는 영향을 주지 않는다.relative 요소가 차지하는 공간은 static일 때와 같다.위치 지정 요소
relatvie absolute fixed sticky 중 하나인 요소static이 아닌 모든 요소 relative인 요소absolute 또는 fixed 인 요소sticky인 요소fixed처럼 화면에 고정된다.z-index속성은 페이지를 가상의 3차원 공간으로 생각하고 웹에서 요소의 z축 방향의 위치를 결정하는 속성이다.
보통 다음과 같은 요소에서 적용된다.
flex grid 아이템z-index가 없는 경우z-index가 없는 경우 기본적으로 쌓임 순서는 다음과 같다.
1. 루트 요소
2. position을 주지 않은(static) 자식 요소들
3. 위치 지정 요소인 자식요소들
동일한 순서일 경우에는 HTML에 쓰여진 순서대로 쌓이게 된다.
z-index가 있는 경우z-index가 있는 경우 쌓임 맥락을 통해 쌓이는 순서가 결정된다.
쌓임맥락이란 가상의 Z 축을 사용한 HTML 요소의 3차원 개념화이다.
요소들이 가진 속성으로 쌓임 맥락을 생성한다.
다음과 같은 조건을 갖췄을 경우 쌓임 맥락을 생성한다.
<html>)absolute 또는 relative이고, z-index가 auto가 아닌 요소.fixed 또는 sticky인 요소.auto가 아닌 요소.auto가 아닌 요소.
쌓임 맥락 안의 자식 요소는 규칙을 동일하게 사용해 쌓인다. 하지만 자식의 z-index는 부모 요소의 안에서만 작동한다.
하나의 쌓임 맥락은 부모 쌓임 맥락 안에서만 하나의 단위로 간주된다.
다음 사진에서 DIV #4는 DIV #1 보다 z-index 값이 더 크지만 해당 z-index는 부모 요소인 DIV #4에서만 작동하고 전체적으로는 부모 요소의 z-index로 간주되기 때문에 DIV #1보다 아래에 있는 것이다.
전체적으로 DIV #1 DIV #2 DIV #3으로 쌓임 맥락이 생성됐고 DIV #3 요소 안에서 DIV #3 DIV #4 DIV #5 DIV #6으로 쌓임 맥락이 생성된 것이다.