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

原创 2007年09月18日 19:53:00
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>
版权声明:本文为博主原创文章,未经博主允许不得转载。

最典型实用的上中下,并且中间分三列的布局

 最典型实用的上中下,并且中间分三列的布局,这个例子有2个特点:1. 中间三列效果,可以任意实现单列背景色。2. 整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大...
  • mycss
  • mycss
  • 2007年04月05日 16:30
  • 498

html经典上中下三段的布局设计

这个是一个经典的html布局:上、中、下的结构布局的一个小例子 MUC Manager html,body {width :100 %; height:100 %...
  • u011047968
  • u011047968
  • 2016年06月28日 10:56
  • 1117

上下Div固定,中间div高度自适应(随浏览器高度变化而变化)

1.css代码: html,body{ margin:0; padding:0; height:100%; overflow:hidden; } #top{ position:absol...
  • muyeju
  • muyeju
  • 2015年10月03日 15:56
  • 5039

前端设计之CSS布局:上中下三栏自适应高度CSS布局

网页代码: CSS布局:上中下三栏自适应高度CSS布局 *{margin:0;padding:0;} body, html { margin: 0; padding:0 !import...
  • sinat_26342009
  • sinat_26342009
  • 2015年08月14日 16:09
  • 1328

网页上中下三分布局,上下固定,中间自适应

* { margin:0; padding:0; } html, body, #box { height:100%; font:small/1.5 "宋体", serif; }...
  • haifengzhilian
  • haifengzhilian
  • 2014年04月29日 10:09
  • 6934

flex上下固定中间滚动布局

传统 pc 端中,子容器高度超出父容器高度,通常使用 overflow:auto 可出现滚动条拖动显示溢出的内容,而移动web开发中,由于浏览器厂商的系统不同、版本不同,导致有部分机型不支持对弹性滚动...
  • cddcj
  • cddcj
  • 2016年08月12日 15:17
  • 2304

css布局左右定宽,中间自适应

一、基于传统的position或者浮动,让其脱离文档流的方法1、position(绝对定位法)绝对定位法原理是将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流...
  • sinat_36422236
  • sinat_36422236
  • 2016年12月05日 20:44
  • 1580

android 上中下布局,中间自适应

android布局,用RelativeLayout实现  上中下布局,中间自适应" title="android 上中下布局,中间自适应" style="margin:0px; paddin...
  • diaoguangqiang
  • diaoguangqiang
  • 2013年11月21日 12:45
  • 1374

使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)

今天太累了,写不了了,先留着写。  1.css3之前       三种方法:圣杯布局 2 , css3新特性    多栏布局    弹性盒模型布局...
  • Cinderella_hou
  • Cinderella_hou
  • 2016年08月08日 22:04
  • 13801

左右布局:左边定宽、右边自适应

转自: http://zhoukekestar.github.io/notes/2017/06/07/interview-answers.html absolute + padding ...
  • shuidinaozhongyan
  • shuidinaozhongyan
  • 2017年06月15日 09:47
  • 534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:上中下三行布局,上下定高,中间栏自适应
举报原因:
原因补充:

(最多只允许输入30个字)