根据iframe内部加载的内容自动调整div / iframe大小

时间:2011-06-14 23:27:50

标签: php html css dhtml

我在网上看到很多相互矛盾的信息,我认为这里的人比其他绝大多数人都知道的更好。

是否有可能在其内部使用iframe的div自动调整宽度(可能还有高度) - > WITHOUT < - 使用javascript ..也需要进行交叉浏览有能力的(像lynx和ie5这样的浏览器根本不是一个问题)。

我一直在修补和跟踪各种各样的人在网上有关这方面的建议,但我仍然没有看到我的div和iframe将其宽度限制为iframe中加载的任何数据(只是随机信息表)。

以下是我拥有的一些css和相关的html,因为你可以告诉它已经经历了一些没有宽度的修订:auto;身高:汽车等。

            div#topleftdiv
                {
                    float: left;
                    width: 25%;
                    height: auto;
                }

            iframe#topleftframe
                {
                    background-color: transparent;
                    -moz-opacity: .00;
                    filter: alpha(opacity=00);
                }


            div#toprightdiv
                {
                    float: right;
                    width: 25%;
                    height: auto;
                }

            iframe#toprightframe
                {
                    background-color: transparent;
                    -moz-opacity: .00;
                    filter: alpha(opacity=00);
                }

            div#topmiddlediv
                {
                    float: left;
                    width: 49%;
                    height: auto;
                    text-align: center;
                    align: center;
                    margin-left: auto;
                    margin-right: auto;
                }

            iframe#topmiddleframe
                {
                    width: 100%;
                    height: 40em;
                    text-align: center;
                    align: center;
                    margin-left: auto;
                    margin-right: auto;
                    -moz-border-radius: 15px;
                    border-radius: 15px;
                }

            div#bottomdiv
                {
                    clear: both;
                }

<div id="topleftdiv" scrolling="no">
    <iframe id="topleftframe" name="topleftframe" scrolling="no"  allowtransparency="true" frameBorder="0">
    </iframe>
</div>
<div id="toprightdiv" scrolling="no">
    <iframe id="toprightframe" name="toprightframe" scrolling="no" allowtransparency="true" frameBorder="0">
    </iframe>
</div>
<div id="topmiddlediv" scrolling="no">
    <iframe id="topmiddleframe" name="topmiddleframe" scrolling="no" allowtransparency="true" frameborder="0" noresize>
    </iframe>
</div>

1 个答案:

答案 0 :(得分:3)

不,这是不可能的。您需要JavaScript将帧大小传回父窗口。

基本的JavaScript,如果你改变主意:

来自iFrame的

parent.document.getElementById('iframe_id').style.height =
    document.body.offsetHeight;