【问题标题】:set the iframe height automatically自动设置 iframe 高度
【发布时间】:2013-02-21 17:54:44
【问题描述】:

我需要在框架内嵌入一个 HTML 页面,并使用以下代码:

<iframe src="http://www.google.com" style="width: 90%; height: 300px"
    scrolling="no" marginwidth="0" marginheight="0" frameborder="0"
    vspace="0" hspace="0">

我正在尝试将高度设置为自动,以便框架自动调整到页面长度,而不必像我在这里所做的那样对高度进行硬编码。我尝试了height:autoheight:inherit,但没有成功。

【问题讨论】:

  • 您是否尝试过设置height:100%,如果 iframe 在正文中,应该让它填满正文?

标签: html


【解决方案1】:

如果站点位于不同的域中,由于跨浏览器域的限制,调用页面无法访问 iframe 的高度。如果您可以访问这两个站点,则可以使用document domain hack。那么 anroesti 的链接应该会有所帮助。

【讨论】:

【解决方案2】:

试试这个编码

<div>
    <iframe id='iframe2' src="Mypage.aspx" frameborder="0" style="overflow: hidden; height: 100%;
        width: 100%; position: absolute;"></iframe>
</div>

【讨论】:

  • 注意:我发现使用样式高度和宽度是有问题的。高度和宽度属性在这里似乎始终如一地起作用。您同时使用两者有什么原因吗?
  • % on iframe's height/width is invalid HTML5 as per spec(虽然之前有效)
【解决方案3】:

如果你是像 Bootstrap 这样的框架,你可以使用这个 sn-p 使任何 iframe 视频响应:

<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="vid.mp4" allowfullscreen></iframe>
</div>

【讨论】:

    【解决方案4】:

    Solomon 关于引导程序的回答启发我添加引导程序解决方案使用的 CSS,这对我来说非常有效。

    .iframe-embed {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        height: 100%;
        width: 100%;
        border: 0;
    }
    .iframe-embed-wrapper {
        position: relative;
        display: block;
        height: 0;
        padding: 0;
        overflow: hidden;
    }
    .iframe-embed-responsive-16by9 {
        padding-bottom: 56.25%;
    }
    <div class="iframe-embed-wrapper iframe-embed-responsive-16by9">
        <iframe class="iframe-embed" src="vid.mp4"></iframe>
    </div>
    

    【讨论】:

    • 太棒了!我不得不摆脱height: 0;,但除此之外它完美无瑕,这是在旧 gwt 应用程序中可调整大小的模式弹出窗口中托管的 iframe 中的角度页面!
    • 适用于当前的 Chrome 2020 年 9 月。谢谢。
    猜你喜欢
    • 2012-10-24
    • 2018-06-30
    • 2016-01-12
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多