将div的高度调整为内容

时间:2009-10-26 18:17:06

标签: php javascript html css

我有两个div,一个在左边,一个在我页面的右边。 我的网站中间有一个iframe,内容是从一个带有mysql结果的php文件中加载的。 我希望页面上的两个div获得页面的TOTAL高度,并将其设置为自己的高度,以便边框一直向下。我也希望iframe根据“myPhpFile”回声的“results_table”来调整它的高度。

这是我的两个div代码:

   <div class="bgr_left">
   <div class="bgr_right">

这是css:

  .bgr_right {
background-image: url(../Graphics/bgr_right.jpg);
background-repeat: repeat-y;
background-position: right;
position: absolute;
top: 0px;
width: 30px;
right: 0px;
background-color: #E7F5F0;
    }

   .bgr_left {
background-image: url(../Graphics/bgr_left.jpg);
background-repeat: repeat-y;
background-position: left;
position: absolute;
left: 0px;
top: 0px;
width: 30px;
background-color: #E7F5F0;
    }

这是表格中的iframe:

    <table width="850px" height="1000px" border="0" align="center">
    <tr>
    <td width="845px" height="998px">
      <iframe style="border:none; width:100%; height:100%;" name="iframe001"  src="frame.html" id="iframe001"></iframe>
    </td>
    </tr>
    </table>

以下是表格:

     <form id="nav_form_main" name="nav_form_main" action="bincgi/myPhp.php" target="iframe001" method="get">

这是php文件中从mysql查询创建表的部分:

      while($row = mysql_fetch_array($qry_result)){

我的问题:这是在我的网页上获得两个边框的最佳方法吗? AND,有没有办法将iframe高度设置为将要从我的“FORM”中加载到其中的内容......

背景历史: 我的网站上有一个表单,它以iframe为目标,表单上的操作是一个php文件,它在表中返回一个mysql查询结果。所以这个表最终会出现在iframe内部!

2 个答案:

答案 0 :(得分:3)

尝试使用Javascript调整IFrame onload的大小可以完成,但在我的经验中非常麻烦。使用Ajax将PHP结果动态加载到HTML结构中将更容易,更可靠。如果将PHP输出加载到DIV中,那么DIV的高度可以增加页面的高度,从而增加其他DIV的高度。

答案 1 :(得分:0)

如果iframe和JavaScript在同一个域,则可以使用JavaScript 访问iframe内容高度。

您可以尝试使用PHP插入内容,如:

$content = file_get_contents('http://domain.net/iframe.php');

//
//Do something with the content here
//

echo($content);

但是,如果您无法修改iframe.php以获取您需要的内容,那么这个解决方案并不明确。我想你最终会得到静态的iframe高度。