

最外层#box { display:table; },高度100%,其子层#header/#main/#footer为{ display:table-row; },因此可以模拟表格的行效果,上下定高,则中间不定高的层自适应高度。
#wrap层为{ display:table-cell; }模拟单元格,因此可以设定{ vertical-align:middle; },垂直居中。
由于Win IE不支持{ display:table; },因此,只能采取定位的方式实现。内是针对ie的设定。
 以下是引用片段: 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中</title>  
<style type="text/css">  
* {  
margin:0;  
padding:0;  
}  
html,  
body,  
#box {  
height:100%;  
font:small/1.5 "宋体", serif;  
}  
body {  
text-align:center;  
}  
#box {  
text-align:left;  
background:#666;  
display:table;  
width:80%;  
margin:0 auto;  
position:relative;  
}  
#box > div {  
display:table-row;  
}  
#header,  
#footer {  
background:#fcc;  
height:50px;  
}  
#main {  
background:#ccf;  
}  
#main #wrap {  
display:table-cell;  
background:#ffc;  
vertical-align:middle;  
}  
#text {  
text-align:center;  
}  
</style>  
<!--[if IE]>  
<style type="text/css">  
#header,  
#footer {  
width:100%;  
z-index:3;  
position:absolute;  
}  
#footer {  
bottom:0;  
}  
#main {  
height:100%;  
z-index:1;  
position:relative;  
}  
#main #wrap {  
position:absolute;  
top:50%;  
width:100%;  
text-align:left;  
}  
#main #text {  
position:relative;  
width:100%;  
top:-50%;  
background:#ccc;  
}  
</style>  
<![endif]-->  
</head>  
<body>  
<div id="box">  
  <div id="header">header</div>  
  <div id="main">  
    <div id="wrap">  
    <div id="text">  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
          <p>内容内容</p>  
        </div>  
        </div>  
  </div>  
  <div id="footer">footer</div>  
</div>  
</body>  
</html> 
您发布的评论即表示同意遵守以下条款:
            一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
            二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
            三、本站对您所发布内容拥有处置权。
苏公网安备 32070502010230号