http://onlinehandytools.com/blah.php?board=EDE&level=AL&subject=生物学&年份=2011
如果你点击Firefox/Opera中标记为QP/MS的任何链接,iframe都不会占据整个高度,只占据大约10%的高度。不确定为什么会发生这种情况,因为它在Chrome中运行得很好。
您只给了table
这些iframe位于height:100%
中,但这并不意味着表中的元素也必须具有该高度。
给该表中的tbody
、tr
和td
元素同样的高度。
这可能是由于您使用的<doctype>
,因为XHTML严格的Doctype 1.0 不支持iFrame
一般来说,使用iFrame不是一个好的做法,最好使用其他方法,如dhtml和ajax;但是,在某些情况下(如您的情况),iFrame是必要的。
因此,这里有一些解决方案:
- 使用限制较少的DTD,如transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
,允许使用iFrame - 使用一个"棘手"的自定义DTD,如本文所述:http://madskristensen.net/post/use-iframes-with-xhtml-10-strict,它只是用过渡DTD中的iFrame定义扩展了标准的Strict DTD
- 将iFrame转换为对象,如下所述:http://sumitbansal.com/web-designing-tips/w3c-validation-iframe-error-with-xhtml-1-0-strict-doctype/
- 使用javascript计算TD的高度,并将其分配给iFrame;类似
document.getElementById('the-iframe-id').style.height = document.getElementById('the-td-id').offsetHeight + 'px';
我希望这能有所帮助。