iframe没有在firefox中获取完全高度的单元格

时间:2014-04-29 00:48:20

标签: firefox iframe height cell

http://onlinehandytools.com/blah.php?board=EDE&level=AL&subject=biology&year=2011

如果您点击Firefox / Opera中标有QP / MS的任何链接,iframe将无法占据整个高度,只占高度的10%左右。不知道为什么会这样,因为它在Chrome中工作得非常好。

2 个答案:

答案 0 :(得分:0)

这可能是由于您使用的<doctype>,因为XHTML严格的Doctype 1.0不支持iFrame

一般来说,使用iFrames不是一个好习惯,最好使用其他方法,如dhtml和ajax;但是当有必要使用iFrame时,有些情况(比如你的情况)。

所以,这里有一些解决方案:

  1. 使用限制较少的DTD,例如过渡性: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,允许使用iFrame
  2. 使用“棘手”的自定义DTD,如本文所述:http://madskristensen.net/post/use-iframes-with-xhtml-10-strict,它只是使用Transitional DTD中的iFrame定义扩展标准Strict DTD
  3. 将iFrame转换为对象,如下所述:http://sumitbansal.com/web-designing-tips/w3c-validation-iframe-error-with-xhtml-1-0-strict-doctype/
  4. 使用javascript计算TD的高度,并将其分配给iFrame;像document.getElementById('the-iframe-id').style.height = document.getElementById('the-td-id').offsetHeight + 'px';
  5. 之类的东西

    我希望这可能有所帮助。

答案 1 :(得分:0)

您只是将table这些iframe放在height:100%中 - 但这并不意味着表格中的元素也必须占据该高度。

将该表格中的tbodytrtd元素设置为相同的高度。