上下两个div,底部的div高度可调,上面div高度自适应,填满整个窗口,页面不出现滚动条 50
第一感觉就是用框架可以实现,http://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols,好处是本身frame边线就可以拖动,根据百分比适应。但是框架是被淘汰的技术,不提倡使用!js+html也可以实现类似框架的效果,但是边框可移动怎么实现是问题,div和整个窗口的数据获取实现很容易!可以变通一下,在线面的div加个增大减小的按钮控件,js实现很简单,时间原因我没写这个功能
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Complitable" content="IE=edge,chrome=1" />
<meta name="renderer" content="webkit" />
</head>
<body>
<div id="wrapper">
<div id="top" style="width:100%;background:red;"></div>
<div id="bottom" style="width:100%;background:yellow;"></div>
</div>
<script>
var getblank = document.documentElement.clientHeight+"px";
var topd = document.getElementById("top");
var bottomd = document.getElementById("bottom");
var w = document.getElementById("wrapper");
w.style.height = getblank+"px";
topd.style.height = 1/2*Number(getblank.split("px")[0])+"px";
bottomd.style.height = 1/2*Number(getblank.split("px")[0])+"px";
</script>
</body>
</html>
只用css,不使用js。IE高版本跟谷歌已测。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{
margin: 0px; padding: 0px;
}
div{
width: 100%;
}
.top{
height: 200px;background-color: greenyellow;
}
.bottom{
position: absolute; top: 200px;bottom: 0px; background-color: deepskyblue;
}
</style>
</head>
<body>
<div class="top"></div>
<div class="bottom"></div>
</body>
</html>
阿西吧,对不住啊,看错题目了。我做的题目是上下两个div,上面200px;下面自适应高度。
<body style="margin:0px;">
<div style="position: absolute;height:60%;width:100%; background-color: #CCCCFF;overflow-y:auto;">
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
fds
fds
fds
fds
fds
fds
fds
fds
fds
fdsfds
fds
fds
fds
fds
fds
fdsfds
fds
fds
fds
fds
fds
fds
fdsfds
fds
fds
fds
</div>
<div style="position: absolute;top:60%;height:40%;width:100%; background-color:#00FF99;">d</div>
</body>
上面的div不能指定高度,需要自适应剩余高度。因为下面的div中的内容会发生变化,而导致下面的div高度发生变化,所以上面的div需要自适应剩余高度。
比如,一开始下面的div中有一个三行的table,然后点了一个按钮之后,这个table中增加了一行,那么下面的这个div高度就增加了,而相应的,上面的div需要缩短高度,至于缩短多少,因为很难计算,所以需要自适应的方案。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var one = $(".one").height();
var two = $(".two").height();
var thr = $(document.body).height();
one = thr - two;
$(".one").css('height',one);
alert(one);
});
</script>
<style>
body,html{ height:100%; margin:0}
p { margin:0; padding:0; color:#fff}
.one {width:100%; background-color:#0C0; height:auto; overflow:hidden}
.two { position:fixed; width:100%; height:auto; bottom:0px; left:0px; background-color:#000}
</style>
</head>
<body>
<div class="one">
<p>1111</p>
</div>
<div class="two">
<p>1111</p>
<p>1111</p>
<p>1111</p>
<p>1111</p>
<p>1111</p>
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<!DOCTYPE html>
<html>
<head>
<style>
.all{border:2px solid black;height:100%;}
.one{border:2px solid red;}
.two{border:2px solid blue; height:200px;}
</style>
<script language="javascript">
var ss;
window.onload=function()
{
var w=document.documentElement.clientWidth ;//可见区域宽度
var h=document.documentElement.clientHeight;//可见区域高度
ss=document.getElementById('ha');
//alert(w);
h = h-200;
ss.style.height=h+"px";
}
</script>
</head>
<body>
<div class="all">
<div class="one" id="ha">头部</div>
<div class="two">底部</div>
</div>
</body>
</html>
</body>
</html>
不知道你要的是不是这个效果
不能用script来计算高度,因为下面这个div的内容不能确定其高度是多少
那肯定要获得第2个DIV这个节点..通过class ,父节点..等等..得到节点对象,就能动态获得高度了啊..
假设我知道class
var ss;
window.onload=function()
{
var w=document.documentElement.clientWidth ;//可见区域宽度
var h=document.documentElement.clientHeight;//可见区域高度
ss=document.getElementById('ha');
//alert(w);
var two_height = $(".two").css("height");//这里用的是jQuery的函数.引下jQuery工具包
h = h-two_height ;
ss.style.height=h+"px";
}