当前位置:编程学习 > C#/ASP.NET >>

VS2005下DIV定位

先看代码:
<form >
   <div style="height:10%">head</div>
   <div style="height:80%"></div>
   <div style="height:10%">foot</div>
</form>
想得到的效果,最下面的DIV定位到屏幕的最下方,不管分辨率是多少。

问题:
如何中间的DIV内容不够,或没有内容,那么下面的DIV会自动向上移,从而
达不到效果,曾试过用CSS中的expression(document.body.clientHeight)
来判断,但仍然不行。试过好像只能用具体的值,如
<div style="height:10%">head</div>
   <div style="height:400px"></div>
   <div style="height:10%">foot</div>
才有效,但这样在不同的分辨率下,又会不一样。

试问那位有什么好办法或许是我那里出错?
--------------------编程问答-------------------- div   style= "height:10% "> head </div> <!--永远在顶层--->
      <DIV  style= "height:请注意我px"> 新加层</DIV>
<!--把在代码的:请注意我 改换成 具体的数据。这样无论你中间层是否有数据都会让底层不挨着顶层 --->
<!-- 当然 你也可以在新加层,加2个属性 ,ID ='NEW_DIV'  runat="server" 这样,你也可以后台判断下。如果 中间层有数据。那么,新加层的作用 = false --->
      <div   style= "height:80%"> </div> 
      <div   style= "height:10% "> foot </div> <!---永远在底层--> --------------------编程问答--------------------
div   style= "height:10% "> head </div> <!--永远在顶层--->
      <DIV  style= "height:请注意我px"> 新加层</DIV>
<!--把在代码的:请注意我 改换成 具体的数据。这样无论你中间层是否有数据都会让底层不挨着顶层 --->
<!-- 当然 你也可以在新加层,加2个属性 ,ID ='NEW_DIV'  runat="server" 这样,你也可以后台判断下。如果 中间层有数据。那么,新加层的作用 = false --->
      <div   style= "height:80%"> </div> 
      <div   style= "height:10% "> foot </div> <!---永远在底层-->
--------------------编程问答-------------------- 这样就达到你要的效果了:
<form   > 
      <div   style= "height:10% "> head </div> 
      <div id="divData"> </div> 
      <div   style= "height:10% "> foot </div> 
</form>
<script language="javascript">
if(document.getElementById("divData")){
      document.getElementById("divData").style.height=Math.round(document.body.clientHeight*80/100)+"px";
 }
</script>  --------------------编程问答-------------------- 你要解决的不是怎么设置的问题吧,而是浏览器的兼容性问题
我用IE7测试,即使没有内容也正常的撑开了 --------------------编程问答-------------------- 我顶一下 --------------------编程问答-------------------- 学习了
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,