我在努力
<iframe height="100%" ...>
但它仍然不能调整大小。当我尝试像素的高度它的工作。
编辑: 100% 似乎是工作在 IE 上,但不是火狐
你可以用 CSS 来做:
<iframe style="position: absolute; height: 100%; border: none"></iframe>
请注意,默认情况下,这将把它放在页面的左上角,但我猜这就是您想要实现的。您可以使用 left、 right、 top和 bottom CSS 属性定位。
left
right
top
bottom
Iframe 没有得到100% 高度的问题不是因为它们笨重。问题是,对他们来说,得到100% 的高度 他们需要父母有100% 的身高。如果 iframe 的父母之一不是100% 高,iframe 将不能超过该父母的身高。
所以最好的解决办法是:
html, body, iframe { height: 100%; }
... 鉴于 iframe 是正下方的身体。如果 iframe 在它自己和主体之间有一个父节点,那么 iframe 仍然会得到它的父节点的高度。还必须显式地将每个父节点的高度设置为100% (如果需要的话)。
测试范围:
Chrome 30,Firefox 24,Safari 6.0.5,Opera 16,IE 7, 8, 9 and 10
Chrome 30
Firefox 24
Safari 6.0.5
Opera 16
IE 7, 8, 9 and 10
PS: 我并不想吹毛求疵,但是标记为正确的解决方案在本文写作时在 Firefox 24上不起作用,但是在 Chrome 30上起作用了。不过还没有在其他浏览器上测试过。我在 Firefox上遇到了错误,因为我正在测试的页面内容非常少... ... 它是 可以,可能是我的微薄标记或者 CSS重置改变了输出,但是如果我经历了这个错误,我想公认的答案并不适用于所有情况。
Firefox
CSS
2021年最新情况
@ Zeni 在2015年提出了这个建议:
iframe { height: 100vh }
果然有效!
小心定位,因为它可能会破坏效果。彻底的测试,你可能不需要定位取决于你试图达到的目标。
IFrame 属性不支持 HTML5中的百分比,它只支持像素。 Http://www.w3schools.com/tags/att_iframe_height.asp