通常我们做一些后台的时候,都要用到iframe,比如左侧是菜单,右侧是iframe我几乎看遍了国内一些流行的程序,用的几乎都是
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
这种标准,也就是html 4.0的标准这样,右侧的iframe就可以自动适应当前窗口给它分配的大小。比如,一个页面中,我们把上面留出一个div,高度为200像素,
下面分出两个div或是一个表格,分为左右如何在xhtml1.0的标准下,使下面的div和iframe适应当前窗口的剩余高度呢,也就是当前窗口高度减去上面的200px
同时又不能以损失效率来完成。这个是个头疼的问题,我发现dz,phpwind等,都未能良好的解决此问题。
都是用的html4.0的标准。

解决方案 »

  1.   

    不会吧,我用的iframe+XHTML 1.0没有LZ所说的问题啊我的是一个页面放了一个table,分两个td,左右都是iframe,可以适应父窗口我写的CSSbody,form{margin:0px}
      

  2.   

    俺刚才试了一下,可以自动适应啊,比如:
    <table width=100% height=100%>
    <tr>
    <td style="height:100px">
    abc
    </td>
    </tr>
    <tr>
    <td>
    <iframe scrolling="yes" frameborder="0" align="left" width="100%" height="100%" marginwidth=0 marginheight=0 name="frmMain" id="frmMain" src="about:blank" onload="page_onload" onafterupdate="page_onbeforeupdate"></iframe>
    </td>
    </tr>
    </table>
      

  3.   

    不行的。
    比如<iframe name="mainframe" id="mainframe" frameborder="0" width="100%" height="100%" frameborder="0" scrolling="yes" style="overflow: visible;"></iframe>它只是在页面上,高度为200px左右。根本就没有抵到窗口下端,哈哈,没顶到底儿。
      

  4.   

    原来你没设边界,完整的代码如下,你另外为HTML文件就可以看到效果:<html>
    <head>
    <title></title>
    </head>
    <body style="overflow-x:hidden;overflow-y:hidden;margin:0px;">
    <body>
    <table width=100% height=100%>
    <tr>
    <td style="height:100px">
    abc
    </td>
    </tr>
    <tr>
    <td>
    <iframe scrolling="yes" frameborder="0" align="left" width="100%" height="100%" marginwidth=0 marginheight=0 name="frmMain" id="frmMain" src="about:blank"></iframe>
    </td>
    </tr>
    </table>
    </body>
    </html>
      

  5.   

    谢谢楼上的。不过还是不行,为什么呢,
    我要求的是在xhtml1.0标准下可用的。
    html文件头声明为
    <!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">
      

  6.   

    本人有洁癖,哈哈。其实是xhtml1.0在各个浏览器下表现不会差很多。
    而旧的标准,会多少有些偏差。
      

  7.   

    我用JQuery实现了   不过不是实时刷新。希望能有高手给完善一下。
    <script language="Javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    $(function(){
    $("iframe").css("height",$(window).height());
    });
    </script>