iframe没有占据萤火虫细胞的全部高度



http://onlinehandytools.com/blah.php?board=EDE&level=AL&subject=生物学&年份=2011

如果你点击Firefox/Opera中标记为QP/MS的任何链接,iframe都不会占据整个高度,只占据大约10%的高度。不确定为什么会发生这种情况,因为它在Chrome中运行得很好。

您只给了table这些iframe位于height:100%中,但这并不意味着表中的元素也必须具有该高度。

给该表中的tbodytrtd元素同样的高度。

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

一般来说,使用iFrame不是一个好的做法,最好使用其他方法,如dhtml和ajax;但是,在某些情况下(如您的情况),iFrame是必要的。

因此,这里有一些解决方案:

  1. 使用限制较少的DTD,如transitional:<!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,它只是用过渡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';

我希望这能有所帮助。

最新更新