这是google翻译的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翻译一样。
<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显示在页面顶部,而不是显示160px之后,由div指定。
我不确定我的代码有什么问题,这与Google代码几乎相同。
编辑: 相对于标签添加位置不适合作为解决方案。它将div缩小为高度较小的条形。这也意味着不能指定相对于页面的确切位置。
答案 0 :(得分:6)
这是因为您在position:relative;
#contentframe
<div id="contentframe" style="position:relative; top: 160px; left: 0px;">
position:absolute;
将自己定位于position
不是static
的最近祖先。由于默认值为static
,因此导致您的问题。
答案 1 :(得分:3)
你必须使用这个css属性,
position:relative;
将它用于#contentframe div标签
答案 2 :(得分:2)
尝试添加css样式属性
position:relative;
到div标签,它可以工作,
答案 3 :(得分:0)
你应该使用position:relative;对于一个iframe和位置:绝对;对于第二个;
实施例: 首次使用iframe:
<div id="contentframe" style="position:relative; top: 100px; left: 50px;">
用于第二个iframe使用:
<div id="contentframe" style="position:absolute; top: 0px; left: 690px;">