你如何给iframe 100%的身高

cod*_*441 97 html

我尝试着

<iframe height="100%" ...>
Run Code Online (Sandbox Code Playgroud)

但它仍然没有调整它的大小.当我尝试像素的高度时,它的工作原理.

编辑:100%似乎在IE上工作,但不是Firefox

dte*_*ech 173

你可以用CSS做到这一点:

<iframe style="position: absolute; height: 100%; border: none"></iframe>
Run Code Online (Sandbox Code Playgroud)

请注意,默认情况下会将其放在页面的左上角,但我想这就是您想要实现的目标.您可以与位置left,right,topbottomCSS属性.

  • 不能和我一起工作:(类似的问题:( (5认同)
  • 哇!经过这么多失败的尝试(包括一些不那么优雅的JavaScript建议)试图让IFrame的大小始终保持正确的高度,我偶然发现了这个答案,到目前为止它看起来效果很好!感谢您为我节省了数小时的额外研究.我无法弄清楚为什么其他人没有这个答案??? 顺便说一下,通过将iframe放在一个相对定位的div中可以很容易地管理绝对定位 - 这就是我正在做的事情 - 绝对将它放在顶部:0,left:0在父div中有位置:relative; 似乎为我工作. (4认同)
  • 也许是因为这个问题/答案太旧了,但是`position:absolute` 不是必需的,实际上这不是一个好主意,除非你确实需要明确地定位它......只需在父容器上设置高度即可。 (3认同)

Wal*_*rée 45

iframe没有达到100%高度的问题不是因为它们很笨重.问题是,要让他们达到100%的身高,他们需要父母拥有100%的身高.如果其中一个iframe的父母不是100%高,那么iframe将无法超越父母的身高.

所以最好的解决方案是:

html, body, iframe { height: 100%; }
Run Code Online (Sandbox Code Playgroud)

......鉴于iframe直接在体下.如果iframe在其自身与正文之间有父级,则iframe仍将获得其父级的高度.必须明确地将每个父母的身高设置为100%(如果这是他们想要的).

测试中:

Chrome 30,Firefox 24,Safari 6.0.5,Opera 16,IE 7, 8, 9 and 10

PS:我不是故意挑剔,但标记为正确的解决方案Firefox 24在撰写本文时并不起作用,但仍在努力Chrome 30.但是没有在其他浏览器上测试过.我碰到的错误来了Firefox,因为我是测试页面只有很少的内容......这可能是它是我的微薄标记或CSS复位改变输出,但如果我遇到这个错误我想接受的答案不会在每一个工作情况.

  • 这对我有用.另一个有效的解决方案是将iframe样式的高度设置为100vh.<iframe src ="/ mysite.com"width ="100%"style ="height:100vh;"></iframe> </ iframe>(vh是视口高度) (12认同)
  • 看起来像父亲的'身高:100%`就可以了.`position:absolute`与它无关. (3认同)

小智 22

iFrame属性不支持HTML5中的百分比.它只支持像素. http://www.w3schools.com/tags/att_iframe_height.asp