C'est le code iframe de google translate.
<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>
J'ai essayé de faire quelque chose de similaire avec les mêmes balises div et iframe mais la page html ne se termine pas comme 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>
L'iframe apparaît juste en haut de la page au lieu d'apparaître 160px plus tard, comme spécifié par le div.
Je ne suis pas sûr de ce qui ne va pas ici avec mon code, qui est presque identique à celui de Google.
Edit: L'ajout de la position: par rapport à la balise n'est pas une solution appropriée. Il réduit la div en une barre avec une petite hauteur. Cela signifie également que la position exacte du par rapport à la page ne peut pas être spécifiée en conséquence.
C'est parce qu'il vous manque position:relative;
sur #contentframe
<div id="contentframe" style="position:relative; top: 160px; left: 0px;">
position:absolute;
se positionne par rapport à l'ancêtre le plus proche ayant une position
qui n'est pas static
. Puisque la valeur par défaut est static
, c’est ce qui a causé votre problème.
vous devez utiliser cette propriété css,
position:relative;
utilisez-le pour votre balise #contentframe div
Essayez d'ajouter la propriété de style css
position:relative;
à la balise div, ça marche,
vous devriez utiliser position: relative; pour un iframe et position: absolute; pour le second;
Exemple: Pour la première utilisation d'iframe:
<div id="contentframe" style="position:relative; top: 100px; left: 50px;">
pour une deuxième utilisation d'iframe:
<div id="contentframe" style="position:absolute; top: 0px; left: 690px;">