웹페이지 작업시 div이나 h1같은 html의 태그를 요소(element)라고 하는데 요소를 배치하는 방법은 상대위치(relative positioning), 절대위치(absolute positioning), 고정위치(fixed positioning) 3가지가 있습니다. 상대위치는 같은자손요소와의 관계에서 상대적입니다. 즉 원래 있어야할곳에서 속성값에 따라 새로운 위치를 지정하는 것이고 절대위치는 부모요소와의 관계에서 위치를 새롭게 지정하는 것입니다.
아래사진에서 상대위치는 원래 있어할 곳에서 새로운 위치로 변경되어 위치가 정해집니다.
#box2 {
position: relative;
left: 20px;
top: 20px;
}
절대위치는 같은 자손끼리의 관계에서는 위치적으로 완전 무시하므로 절대적입니다. 하지만 부모요소와는 상대적입니다. 즉 부모요소가 위치한 곳에 대해서는 상대적인 것입니다. 이 부모요소가 이동하면 같이 이동되는 것이죠. 부모인 외곽 박스를 기준으로 새로운 위치가 정해집니다.
#box2 {
position: absolute;
left: 20px;
top: 20px;
}
절대위치를 갖고 있는 요소들끼리도 서열이 정해지는데 z-index 속성으로 정합니다. 이 속성값이 높으면 서열이 높아서 겹치는 경우 상대적으로 상단에 위치합니다.
또하나의 위치 속성이 position:fixed입니다. 이것은 브라우저화면들 상대하므로 페이지가 스크롤 되어도 항상 같은 위치에 존재하니까 계속 나타나는 효과가 있습니다.
#box2 {
position: fixed;
left: 50px;
top: 200px;
}
라고하면 화면 스크롤에 상관없이 모니터화면 좌측에서 50픽셀, 상단으로부터 200픽셀 떨어져서 항상 나오게 됩니다.