본문 바로가기

스크립트/윈도우창관련

브라우저 화면의 100% 높이를 유지하는 레이아웃

  1. 우선 height 100%를 사용하려면 html element와 body element의 높이를 100%로 확보해 주어야 합니다.
  2. #body 는 min-height 로 100%높이를 유지 해주고, #content-area 는 원하고자 하는 컨텐츠 영역을 확보 합니다.
  3. 이때, IE 는 min-height 를 지원하지 않으므로, conditional comment를 사용하여 height를 100% 로 확보 합니다. (주석같이 보이는 부분)
  4. #head 의 높이와 #foot 의 높이가 고정이어야 한다는 제약이 있습니다...만, 거의 대부분의 웹사이트가 고정이므로 별 문제는 없으리라 봅니다.


 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
html,
body {

           height: 100%;
           margin: 0;
           padding: 0;
           }
#head {
           height: 100px;
           background: #ddd;
           position: relative;
           z-index: 1;
           }
#body {
           min-height: 100%;
           margin: -100px 0 -50px;
           }
* html #body {
           height: 100%;
           }
#content-area {
           padding: 100px 0 50px;
           }
#foot {
           height: 50px;
           background: #ddd;
           }
</style>
</head>

    <body>
           <div id="head">
            요건 100px 높이 헤드
           </div>
           <div id="body">
                      <div id="content-area">
                        <p>컨텐츠 영역 1</p>
                        <p>컨텐츠 영역 2</p>
                        <p>컨텐츠 영역 3</p>
                        <p>(계속 추가해서 테스트 가능)</p>
            </div>
           </div>
           <div id="foot">
            요건 50px 높이 풋
           </div>
      </body>
</html>