关于 css 中间的div 自适应的问题。急求!!!!!!!

【纯css实现】建立一个div容器,初始500×400.在其中构建三行1列布局,最外div改变大小时,第一行和第三行固定,第二行自由伸缩(多浏览器支持,IE6必须支持)也... 【纯css实现】 建立一个div容器,初始500×400.在其中构建三行1列布局,最外div改变大小时,第一行和第三行固定,第二行自由伸缩(多浏览器支持,IE6必须支持)也就是说竖向的三个div包括在一个大的500*400的div里面。然后中间的需要自适应高度!!!纯CSS实现, JS就别说了,纯CSS哦. 谢谢啦! 展开
 我来答
xiaojiou_003
2011-04-22 · TA获得超过1431个赞
知道小有建树答主
回答量:608
采纳率:0%
帮助的人:308万
展开全部
一、背景

在采用基于DIV+CSS的布局开发时,经常需要考虑各种浏览器版本的兼容性问题。

常用的布局模式主要包括:左中右、上中下,以及两种模式的结合。

在早期的开发,一般都采用Table标记的方式实现。

当尝试采用基于DIV的模式,发现一切都变的似乎没那么简单了。特别是浏览器的兼容性问题,更加突出了。

二、需求

本文只讨论上中下布局模式的实现,关于左中右模式的实现,相比较来说要简单得多了。如果时间充,我会另文详述。

1.上部(top)Div高度固定100px,宽度100%;

2.下部(footer)Div高度固定100px,宽度100%;

3.中部(middle)DIV高度根据屏幕高度,自适应充满,宽度100%;

4.用纯DIV+CSS实现,不采用脚本计算高度的方式;

5.调整浏览器大小时,中部DIV能随着屏幕高度自适应。

三、HTML部分

本部分非常简单,只是定义了三个DIV,分别对应:top、middle、footer

<div id="header">
抬头</div>
<div id="middle">
1页中<br />
2页中<br />
3页中<br />
4页中<br />
5页中<br />
6页中<br />
7页中<br />
8页中<br />
9页中<br />
</div>
<div id="footer">
页脚

</div>

四、CSS实现

为了便于理解实现原理,分两部分说明:

1.IE6下的实现

<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{
padding:100px 0;
width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
#middle{
position: relative;
top:-100px;
height:100%;

bottom:100px;
width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>

2.IE7、IE8下的实现

<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{
width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
}
#middle{
position: absolute;
top:100px;
height:auto;
bottom:100px;

width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>

五、全部CSS代码

<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{

padding:0 !important;

padding:100px 0;

width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
#middle{

position: absolute!important;
top:100px!important;
height:auto!important;

position: relative;
top:-100px;
height:100%;

bottom:100px;
width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>

参考资料: http://blog.sina.com.cn/s/blog_4b8d35b70100mfy2.html

mujun1003
2011-04-21
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
按常理是用js。
不过css也可以写判断语句的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loiojo
2011-04-22
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
支持IE6 IE7 IE8 FF
---------------------------------------------------
<!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=utf-8" />
<title>无标题文档</title>
<style>
body{margin:100px 0px 0px 100px}
#body{width:500px;height:400px;background:#CCC; position:relative;overflow:hidden;}
#div1,#div3{width:auto;height:50px;_width:100%;}
#div1{background:#0FF}
#div3{ position:absolute;bottom:0px;left:0px;background:#000;right:0px;}
#div2{ position:absolute;top:50px;bottom:50px;left:0px;right:0px;background:#F00;_width:100%;_display:inline;height:auto;
_margin-bottom:-32767px;
_padding-bottom:32767px;}
</style>
</head>

<body>
<div id="body">
<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
</div>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Q我328914242
2011-04-23 · TA获得超过511个赞
知道答主
回答量:681
采纳率:100%
帮助的人:0
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 你把这个自己改改就能用了,自己动手,下次不求人。Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>三列自适应等高且中列宽度自适应 - </title>
<style type="text/css">
a
.wrap
.left
.right
.center
.row
</style>
</head>
<body>
<div class="wrap">
<div class="left row"><a href="#"></a></div>
<div class="right row">
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
</div>
<div class="center row">
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<span style="float:right; position:relative;"> </span> <!--for ie6-->
</div>
</div>
</body>
</html>
tgFGGGffdddrgff
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-25
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 你把这个自己改改就能用了,自己动手,下次不求人。Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>三列自适应等高且中列宽度自适应 - </title>
<style type="text/css">
a
.wrap
.left
.right
.center
.row
</style>
</head>
<body>
<div class="wrap">
<div class="left row"><a href="#"></a></div>
<div class="right row">
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
</div>
<div class="center row">
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<a href=""></a><br />
<span style="float:right; position:relative;"> </span> <!--for ie6-->
</div>
</div>
</body>
</html>
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
diggcn_com
2011-04-29 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:109万
展开全部
你可以将第一个DIV写一个float:left(左浮动),再将第三个DIV写一个float:right(右浮动)第二个DIV如果没有超出3个DIV宽度相加之和,那么它自然在中间了,如果对你有帮助记得打分哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式