如何使DIV的高度自适应页面?

时间:2022-11-16 16:10:49
-------------------------------
|这里是一个DIV                  |
-------------------------------
|这里是一个Table                |
|                              |
--------------------------------
|  dvi1  |    div2             |
|      内|容主体                 |
|        |                     |
--------------------------------
|这里是一个DIV                  |
--------------------------------

如上图所示,页面中,顶部的DIV、Tabel和底部的DIV是在一个Master Page里面的,大小与位置是固定的。尤其是底部的DIV,用的是绝对定位:

position: absolute; 
height: 80px; 
bottom: 0px; 
left: 10px; 
width: 100%; 
border-top: solid 1px green; 
text-align: center; 
vertical-align: middle; 
line-height: 80px;


我的问题是: 如何使中间内容主体部分(由并排的div1和div2组成)的高度自动调节,以适应当前页面的高度呢?

18 个解决方案

#1


可以看看 extjs中的layout

#2


document.documentElement.clientHeight 可以得到客户端浏览器的高,你减去顶部的DIV、Tabel和底部的DIV就可以了

#3


to libangchuan:不行的,我这样试过。
to cncxz:请问具体如何写代码?

#4


http://extjs.com/deploy/dev/examples/samples.html

看看这里的例子吧,具体代码不好描述

#5


把div1,div2放到同一个div里,然后把高度设为100%。

#6


关注 正在做拖拽

#7


引用 5 楼 rbpgold 的回复:
把div1,div2放到同一个div里,然后把高度设为100%。


我就是这样做的,不行!

#8


都绝对定位了 还自动个毛

#9


楼上的看清楚没有,只有页底的那个DIV是绝对定位的。

#10


div1 float:left   div2 float:right

在div1和div2之外加
   <div id="div" style="clear:both" >

#11


就是因为底部是绝对的 ,变形的时候,他在浏览器的位置不会变,而2个DIV的变化,他却不能适应

#12


可以利用javascript把底部的div悬浮在底部啊,这样就一直在窗口的底部

#13


引用 10 楼 melon23 的回复:
div1 float:left  div2 float:right 

在div1和div2之外加 
  <div id="div" style="clear:both" > 


照样不行。

不能用悬浮的,因为底部其实就是公司的Logo及联系方式什么的,用悬浮看起来太不专业了,老板也不同意。

哎,看来是没办法了。

#14


把底部的弄成<div></div>
默认宽度100%高度0

#15


你曾经在1分钟内实现过吗?如果没有,用<table>在一分钟之内完美地实现,先做出用户可操作的结果。然后有时间再备份并在备份上尝试进行所谓的“div+css编码”。不要一开始就被“div+css”这种口号所累。

#16


底部都绝对了,,还动个毛啊,,,,我晕.你把头跟底部都卡死了,,,动哪去啊,,,会不会CSS啊,,老大.

#17


默认情况下,Div不设置高度属性就可以自适应高度了

#18


up

#1


可以看看 extjs中的layout

#2


document.documentElement.clientHeight 可以得到客户端浏览器的高,你减去顶部的DIV、Tabel和底部的DIV就可以了

#3


to libangchuan:不行的,我这样试过。
to cncxz:请问具体如何写代码?

#4


http://extjs.com/deploy/dev/examples/samples.html

看看这里的例子吧,具体代码不好描述

#5


把div1,div2放到同一个div里,然后把高度设为100%。

#6


关注 正在做拖拽

#7


引用 5 楼 rbpgold 的回复:
把div1,div2放到同一个div里,然后把高度设为100%。


我就是这样做的,不行!

#8


都绝对定位了 还自动个毛

#9


楼上的看清楚没有,只有页底的那个DIV是绝对定位的。

#10


div1 float:left   div2 float:right

在div1和div2之外加
   <div id="div" style="clear:both" >

#11


就是因为底部是绝对的 ,变形的时候,他在浏览器的位置不会变,而2个DIV的变化,他却不能适应

#12


可以利用javascript把底部的div悬浮在底部啊,这样就一直在窗口的底部

#13


引用 10 楼 melon23 的回复:
div1 float:left  div2 float:right 

在div1和div2之外加 
  <div id="div" style="clear:both" > 


照样不行。

不能用悬浮的,因为底部其实就是公司的Logo及联系方式什么的,用悬浮看起来太不专业了,老板也不同意。

哎,看来是没办法了。

#14


把底部的弄成<div></div>
默认宽度100%高度0

#15


你曾经在1分钟内实现过吗?如果没有,用<table>在一分钟之内完美地实现,先做出用户可操作的结果。然后有时间再备份并在备份上尝试进行所谓的“div+css编码”。不要一开始就被“div+css”这种口号所累。

#16


底部都绝对了,,还动个毛啊,,,,我晕.你把头跟底部都卡死了,,,动哪去啊,,,会不会CSS啊,,老大.

#17


默认情况下,Div不设置高度属性就可以自适应高度了

#18


up