これは、Google Translateのiframeコードです。
<div id="contentframe" style="top: 160px; left: 0px;">
<iframe src="/translate_p?hl=en&ie=UTF8&prev=_t&sl=auto&tl=en&u=http://yahoo.co.jp/&depth=1&usg=ALkJrhjrVT6Mc1tnruB-zgrtu9cyQ1bSeA" name="c" frameborder="0" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;"></div>
</iframe></div>
同じdivタグとiframeタグで同様のことをしようとしましたが、htmlページはgoogle translateのようにはなりません。
<div id="contentframe" style="top: 160px; left: 0px;">
<iframe src="http://stackoverflow.com" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;"></div>
</iframe></div>
Iframeは、divで指定されているように、160px後に表示される代わりに、ページの上部に表示されます。
私のコードのどこが間違っているのかわかりませんが、これはGoogleのコードとほとんど同じです。
編集:position:relativeをタグに追加することは、ソリューションとして適切ではありません。 divを縮小して高さの低いバーにします。また、ページに対するの正確な位置を結果として指定できないことも意味します。
position:relative;
の#contentframe
がないためです
<div id="contentframe" style="position:relative; top: 160px; left: 0px;">
position:absolute;
は、position
ではないstatic
を持つ最も近い先祖に対して自分自身を配置します。デフォルトはstatic
であるため、これが問題の原因でした。
このCSSプロパティを使用する必要があります
position:relative;
#contentframe divタグに使用します
CSSスタイルプロパティを追加してみてください
position:relative;
divタグに、それは動作します、
position:relative;を使用する必要があります。 1つのiframeとposition:absolute; 2番目の
例:最初のiframeの使用:
<div id="contentframe" style="position:relative; top: 100px; left: 50px;">
2番目のiframeの使用:
<div id="contentframe" style="position:absolute; top: 0px; left: 690px;">