Daniel's Knowledge Storage

div 하단에 고정시키기 본문

Develop/CSS

div 하단에 고정시키기

다니엘SEO 2009. 6. 10. 11:28

div작업시 foot 부분을 화면 하단에 고정 시켜야 할 경우가 생깁니다.
그때 body의 높이 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>
관련링크
100% Height Layout Using CSS
Comments