上中下三行布局,上下定高,中间栏自适应

2007.09.18 18:45:25

  上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。
  firefox 2.0 / win ie 6/ win ie 7 /opera 8.5 cn/win safari 测试通过。

  对于非ie内核浏览器,通过设定display:table、display:table-row和display:table-cell来模拟表格的表现形式。
  最外层#box { display:table; },高度100%,其子层#header/#main/#footer为{ display:table-row; },因此可以模拟表格的行效果,上下定高,则中间不定高的层自适应高度。
  #wrap层为{ display:table-cell; }模拟单元格,因此可以设定{ vertical-align:middle; },垂直居中。

  由于Win IE不支持{ display:table; },因此,只能采取定位的方式实现。<!--[if IE]>内是针对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 >
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值