一页中有两个iframe,第二个iframe为自动高度

时间:2012-11-29 05:31:03

标签: html iframe height scrollbar

我正在尝试在此代码中实现第二个iframe的自动调整大小,

任何帮助都将不胜感激。

CSS

* {
    margin: 0;
    padding: 0
}
html, body {
    height: 100%;
    width: 100%;
    overflow: hidden
}
table {
    width: 100%;
    table-layout: static;
    border-collapse: collapse
}
iframe {
    width: 100%
}
.header {
    border-bottom: 1px solid #000
}
.content {
    height: 100%
}

HTML

<table>
    <tr>
        <td class="header"><div><h1>Header</h1></div></td>
    </tr>
    <tr>
        <td class="content"><iframe name="iFrame1" height="85" src="Materials AU Stocked Header.htm" scrolling="no" frameborder="1"></td>
    </tr>
    <tr>
        <td class="content"><iframe name="iFrame2" height="100%" src="Materials AU Stocked.htm" scrolling="yes" frameborder="1"></td>
    </tr>
</table>

1 个答案:

答案 0 :(得分:1)

您可以使用position: absolute与第二个iframe并指定topbottomleftright来执行此操作。

这需要您的#header和第一个iframe具有固定的高度。

注意我已在iframe src中添加了一些外部网站以进行测试。用您想要的html页面替换它们。

<强> HTML

<div id="header">
    <h1>Header</h1>
</div>
<iframe id="iFrame1" name="iFrame1" src="http://yahoo.com"></iframe>
<div id="iFrame2Container">
    <iframe id="iFrame2" name="iFrame2" src="http://yahoo.com"></iframe>
</div>

<强> CSS

* {
    margin: 0;
    padding: 0
}
html, body {
    height: 100%;
    width: 100%;
    overflow: hidden
}
#header {
    border-bottom: 1px solid #000;
    height: 19px;
}

#iFrame1 {
    height: 80px;
    width: 100%;
    border: none;
    overflow: hidden;
}
#iFrame2Container {
    position: absolute;
    top: 100px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}
#iFrame2 {
    width: 100%;
    height: 100%;
    border: none;
}

<强> Demo

我在你的代码中注意到的一些额外的东西

  • 您不应该使用表格进行布局
  • 您不应在html文件名中添加空格
    • Materials AU Stocked Header.htm重命名为Materials-AU-Stocked Header.htm
    • 之类的某些内容
  • 关闭您打开的标签
    • <iframe>之后需要</iframe>