Content
높이 100%의 레이아웃을 유지하기 위해서는
header와 footer 의 높이값이 고정이어야 합니다.
아래 요소는 레이아웃의 형틀을 유지하기 위한 필수 요소이기 때문에 수정하시면 안됩니다..
<header></header> header (position:relative; height:50px; z-index:1)
<container> container (margin:-50px 0px -30px 0px; min-height:100%; _height:100%)
<contents> contents (padding:50ox 0px 30px 0px)
<snb></snb> snb (margin-right:-200px; *margin-right:0px; width:200px; float:left)
<content></content> content (margin-left:200px)
</contents>
</container>
<footer></footer> footer (height:30px)
DTD 방식은 본문 높이가 별도로 100%라는 것은 인식하지 않기 때문에 높이가 100%를
갖는 방식을 만들기 위해서는 header와 footer의 높이값을 정해 본문의 높이에서
빼는 방식으로 코딩을 해야합니다.
그렇기 때문에 header의 높이가 50px 이고 footer 가 30px 이면
container에게 음수마진을 줘 margin:-50px 0px -30px 0px 를 준 다음에
contents라는 div를 다시 생성하여 padding:50px 0px 30px 0px 를 주는 방법으로
음수마진을 해결합니다.
이 때 주의하실 것은
html이 순차적 언어이기 때문에 나중에 작성된 태그가
앞서 작성 된 header 태그보다 container 태그 depth가
높아지게 되는데
container부분에서 음수마진을 사용했기 때문에 container가
header 위로 겹쳐지는 오류가 발생하게 됩니다.
이 문제를 해결하기 위해서는 header 에
position:relative; z-index:1 을 추가하여 div의 depth를 바꿔주어야 합니다.