将div margin-top设置为屏幕高度(在iframe内,跨浏览器)

时间:2014-06-07 17:48:28

标签: javascript html css

我试图将div margin-top设置为100%的屏幕高度,但是因为它在iframe内 - jQuery不起作用(返回) 0或不准确的值)。

使用CSS3' 100vh是一个选项,但在某些较旧的移动浏览器中不受支持。

还有其他解决方案吗?

编辑:

忘了提 - 我只能使用JavaScript,HTML和CSS。

EDIT2:

这是一个演示CodePen

EDIT3:

当我在CodePen上测试我的代码时 - 结果证明我可以使用JQuery获得屏幕高度。那么问题出在哪里?

首先,我必须提到我在Tumblr上使用此代码,因此它必须是Tumblr特定的问题。对于不熟悉其自定义页面的人来说,它看起来像这样

enter image description here

对于一些我不知道的原因,每当我尝试使用Jquery从用户那里获得与浏览器相关的东西时,它总是从" Actual Page"而不是从右边的预览(iFrame)。那里有一些错误的设计。为什么?因为在实际的博客页面上一切正常。

以下是我发现目前有效的解决方法,但我并不完全确定原因。

我使用$(document).ready将JQuery提供给最终产品(实际博客页面) - 这不会在自定义页面上起作用。但是,如果我在$(window).resize中包含相同的代码并仅在自定义页面上提供它,那么它也可以在那里工作。

有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:0)

iframe的HTML文件中的CSS如何:

html, 
body {
   height: 100%;
}
div {
    margin-top: 100%;
}

答案 1 :(得分:0)

你可以尝试

.bellow-cover {
  margin-top: 17%;
}

在codepen中尝试过并且工作正常。仍然会寻找更好的解决方案。如果这是必需的,请告诉我。