Iframe height仅在Firefox中显示不正确



我创建了一个页面,该页面具有与DiggBar类似的功能(即指定的height的标题和下面的iframe填充页面的其余部分)。

我花了一段时间进行了这项工作,得到了预期的结果,但突然之间,iframeheight从剩余页面height100%变成了只有44.8px。问题是这种情况只发生在一个浏览器中—Ubuntu上的Firefox。

我认为这应该在所有其他浏览器中发生,但事实并非如此。它在IE、FF和&Windows上的Chrome和Ubuntu上的Chrome。

最后,使用Firebug,我选择了inspect element来尝试确定发生了什么,但它只是告诉我我的height被定义为100%,但它被计算为仅为44.8px

我正在寻找一些关于如何最好地调试这个问题的指导,因为我已经完全没有想法了。我不认为有必要发布所有产生这个问题的代码,但如果绝对需要,请询问。

谢谢。

不幸的是,级联样式表的Cascading部分让我失望了。我对iframe的父级有另一个(我们称之为"隐藏")引用,这导致了奇怪的height计算问题。

有趣的是,这只发生在我的Ubuntu版本的Firefox中。

如果布局结构复杂,将所有div的高度设置为100%可能会破坏页面布局。在这种情况下,我建议使用javascript将iframe的高度设置为100%。在我的案例中,我使用了JQuery,但我认为纯JavaScriptDOM函数也应该起作用。我将iframe的高度设置为等于父div高度:

$('#doc-preview iframe').height($('#doc-preview').height());

这里的文档预览是iframe的父div的id。

请确保在加载页面后运行此脚本。

最新更新