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」に設定しました(デフォルトの場合でも)。何が間違っているのかわかりません。
つまり、iframeがオーバーフローすることはありません。 この投稿 説明します。
求めているのと同様の効果を実現するには、AJAXを使用して埋め込みページをdivに挿入し、divをオーバーフローさせることをお勧めします。