簡體   English   中英

如何在窗口調整大小時調整iframe的大小

[英]How to resize iframe on window resize

我正在嘗試像這樣在窗口調整大小上調整iframe元素的大小:

鏈接到jsfiddle

唯一的區別是,在我的原始代碼中,我具有pdf文件作為src,但沒有Apple網站。

src='link-to-local-pdf'

我希望它在窗口調整大小上使其分別調整iframe本身的大小,而不是在窗口上添加滾動,而僅在iframe上添加滾動。 你能幫我嗎?

希望我正確理解您的要求。 這是一個頁面示例,其中iframe始終使其自身恰好適合其父窗口。

工作示例: http : //jsfiddle.net/My6mj/

JavaScript的:

// set initial size
$( document ).ready(SetIframeSize);

// resize on window resize
$(window).on('resize', SetIframeSize);

function SetIframeSize(){
    $("#external").width($(window).width() - 18); // added margin for scrollbars
    $("#external").height($(window).height() - 35);
}

HTML:

<div>
    <br/>
    <div id="iframe-wrapper" align="center" style="z-index: 0">
        <iframe id="external" src="http://www.apple.com/">dada</iframe>
    </div>   
</div>

CSS:

body {
    overflow:hidden;
}

在沒有JavaScript的情況下應該可以使用:

  1. 計算iframe內容的縱橫比(高度/寬度)。
  2. 將iframe包裹在div中。
  3. 將樣式應用於包裝器:

    .wrap {位置:相對; padding-top:/ *長寬比,以%* /溢出:隱藏; }

  4. 從iframe移除寬度和高度。

  5. 將樣式應用於iframe:

    iframe {位置:絕對; 最高:0; 左:0; 寬度:100%; 高度:100%}

這就是您想要的。

<body>
   <iframe id="the_iframe"></iframe>
</body>

#the_iframe {
    position: absolute;
    left: 50px;
    right: 50px;
    top: 50px;
    bottom: 50px;
}

訣竅是絕對定位,這實際上是對於其父對象的。 該css實際上給the_iframe一個50px的邊距,但在整個窗口中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM