web-dev-qa-db-ja.com

Iframeのオーバーフローの問題

Iframeを含むシンプルなページがあります。 iframeには、いくつかのdivを含むページが含まれています。埋め込みページを個別に開くと、非常にうまく機能します。オーバーフローするはずのdivがオーバーフローします。しかし、コンテナサイトを開いたときはそうではありません。これが私のコードです:

コンテナページ:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

    <style type="text/css">
            #content{
                margin: auto;
                width: 500px;
                height: 1000px;
                background: green;
            }

            #frame{
                width:202px; 
                height:302px; 
                overflow: visible;
            }
    </style>

  </head>

  <body>
        <div id="content">
            <iframe id="frame"
                src="http://localhost:8080/webApp/view/test/embeddable.html" 
                scrolling="no" frameborder="0" allowTransparency="true" marginheight="0" marginwidth="0">
            </iframe>           
        </div>
  </body>
</html>

埋め込み可能なページ:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <style type="text/css">
        body {
            width: 200px;
            height: 300px;
            overflow: visible;
            border: 1px solid yellow;
        }

            #id1{
                margin: auto;
                width: 500px;
                height: 10px;
                border: 1px solid white;
                background: red;
                margin-top: 20px;
            }
    </style> 
  </head>

  <body>
        <div id="id1"></div>        
  </body>
</html>

id1はオーバーフローするはずですが、そうではありません。重要なdivの「overflow」プロパティをすべて「visible」に設定しました(デフォルトの場合でも)。何が間違っているのかわかりません。

13
Pinki

つまり、iframeがオーバーフローすることはありません。 この投稿 説明します。

求めているのと同様の効果を実現するには、AJAXを使用して埋め込みページをdivに挿入し、divをオーバーフローさせることをお勧めします。

20
William Niu