1

我有div一个iframe. div 应该以 100% 的宽度呈现。查看不在iframe 中的文档,div 确实以 100% 呈现。然而,当在 iframe 中时,它会以 90 - 95% 的速度呈现。根据 MS 开发工具,iframe 和 iframe 文档的正文都达到了 100%。只是 div 不是。的HTML:

<iframe frameborder="0" 
 src="http://localhost:8080/pagedetails/73/true" id="su3-frame" 
 hspace="0" vspace="0" 
 leftmargin="0" rightmargin="0" topmargin="0" marginwidth="0">

     <html style="margin: 0pt; padding: 0pt;" 
           xmlns="http://www.w3.org/1999/xhtml">

       <body marginwidth="0" marginheight="0" id="su3-body" 
             leftmargin="0" topmargin="0" 
             style="margin: 0pt; padding: 0pt;">

         <div id="su3-header" 
              leftmargin="0" marginheight="0" 
              marginwidth="0" topmargin="0">

       </body>
     </html>
</iframe>

以及框架和 div 的 css:

iframe#su3-frame {
  width: 100%;
  height: 60px;
  border: 0;    
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0; left: 0;
  z-index: 100000000;
}

div#su3-header { 
  font-family: arial, helvetica, sans-serif;
  font-size: 12px; 
  color: #fff;
  width: 100%; 
  height: 56px; 
  position: absolute; 
  padding: 0;
  margin: 0;
  line-height: 1;
  top: 0; left: 0; 
  background: url('/images/bg-90.png');
  border: 0;
  border-bottom: 4px solid #aaa; 
}

任何想法,建议非常感谢。

4

2 回答 2

2

在你的内部iframe,你可以自由地指定你想要的任何文档类型;您可以退出怪癖模式,并且不会影响“父页面”。

在我的测试中(我不完全确定是否与您的测试用例匹配),将包含通过的文档的前两行更改iframe为(例如)这些:

<!DOCTYPE html>
<html>

即 HTML5 文档类型)将iframe文档置于标准模式,并修复问题。

于 2011-02-16T16:52:26.927 回答
1

您不是在尝试将父级的 CSS 应用于 iFrame,是吗?您可能会遇到同源政策

将 CSS 应用于 iframe

您需要 iFrame 吗?作为一名专业的 UI 开发人员,我认为在 15 年的职业生涯中,我总共不得不使用 3 到 4 次。如今,人们使用 iFrame 完成的大部分工作都可以通过 Dom 和 Ajax 克服。而且,如果您尝试从同一个域中调用 iframe,理论上您可以通过包含获取该内容。

于 2011-02-16T20:47:43.080 回答