1

我正在尝试在此代码中实现第二个 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>
4

1 回答 1

1

您可以使用position: absolute第二个 iframe 并指定topbottom和.leftright

这需要你#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;
}

演示

我在您的代码中注意到的一些额外内容

  • 您不应该使用表格进行布局
  • 你不应该在你的 html 文件名中加入空格
    • 重命名Materials AU Stocked Header.htmMaterials-AU-Stocked Header.htm
  • 关闭您打开的标签
    • <iframe>需要</iframe>
于 2012-11-29T07:04:27.863 回答