wake-up-neo.net

Iframe-Positionierung

Dies ist der iframe-Code von Google Translate.

<div id="contentframe" style="top: 160px; left: 0px;">
<iframe src="/translate_p?hl=en&amp;ie=UTF8&amp;prev=_t&amp;sl=auto&amp;tl=en&amp;u=http://yahoo.co.jp/&amp;depth=1&amp;usg=ALkJrhjrVT6Mc1tnruB-zgrtu9cyQ1bSeA" name="c" frameborder="0" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;">&lt;/div&gt;
</iframe></div>

Ich habe versucht, etwas Ähnliches mit den gleichen div- und iframe-Tags zu machen, aber die HTML-Seite endet nicht wie 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;">&lt;/div&gt;
</iframe></div>

Der iframe wird oben auf der Seite angezeigt und nicht 160px später, wie durch das div angegeben.

Ich bin mir nicht sicher, was hier mit meinem Code falsch ist, der fast dem Google-Code entspricht.

Edit: Das Hinzufügen der Position: relativ zum Tag ist nicht als Lösung geeignet. Es schrumpft das Div in eine Bar mit geringer Höhe. Dies bedeutet auch, dass die exakte Position der Seite in Bezug auf die Seite nicht als Ergebnis angegeben werden kann.

9
John Tan

Es liegt daran, dass Sie position:relative; in #contentframe fehlen.

<div id="contentframe" style="position:relative; top: 160px; left: 0px;">

position:absolute; positioniert sich gegen den nächsten Vorfahren, der eine position hat, die nicht static ist. Da der Standardwert static ist, hat dies zu Ihrem Problem geführt.

6
Daniel Imms

sie müssen diese CSS-Eigenschaft verwenden,

 position:relative;

verwenden Sie es für Ihr #contentframe-Div-Tag 

3
user2536752

Versuchen Sie, die CSS-Stileigenschaft hinzuzufügen 

position:relative;

zum div-Tag funktioniert es,

2
Anurag-Sharma

sie sollten Position verwenden: relativ; für einen iframe und eine position: absolut; für die zweite;

Beispiel: Für die erste Verwendung von iframe:

<div id="contentframe" style="position:relative; top: 100px; left: 50px;">

für den zweiten iframe Gebrauch:

<div id="contentframe" style="position:absolute; top: 0px; left: 690px;">
0