您现在的位置: 365建站网 > 365学习 > CSS布局实例:上中下三行 中间自适应

CSS布局实例:上中下三行 中间自适应

文章来源:365jz.com     点击数:80    更新时间:2009-05-17 23:06   参与评论

CSS布局实例:上中下三行布局,上下定高,中间栏自适应浏览器高度,且内容垂直居中。本文代码在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; },因此,只能采取定位的方式实现。内是针对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

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (80人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------