繁体   English   中英

如何在iframe中制作固定的div

[英]How to make a fixed div inside iframe

我想在窗口底部制作一个float div。 它工作正常,如此处显示https://fiddle.jshell.net/8ghsm1La/light/

在此处输入图片说明

我遇到的问题是将html放在iframe中时。 粘性div位于iframe的底部。 在这种情况下,无论iframe滚动在哪里,我都希望它位于屏幕的底部https://jsfiddle.net/x1p4bf7j/

<iframe id="if1" src="https://fiddle.jshell.net/8ghsm1La/show/light/" style="width: 1310px; height: 582px; overflow: hidden;" />

即我想将固定粘性div放置在容器页面的底部。

在此处输入图片说明

我认为您可以将div与CSS放置在一起:

#iframe {
  position: fixed;
  width: 100%;
  height: 30px;
  margin: 0px !important;
  background-color: yellow;
  bottom: 0px;
  z-index: 1000;
}

您可以使用CSS将iframe设置为与您的身体一样大,然后粘性页脚将按预期工作。

看到这个jsFiddle

我从这个SO问题中获取了尺寸样式。

CSS:

body {
    margin:0px;
    padding:0px;
    overflow:hidden
}

#if1 {
    overflow:hidden;
    overflow-x:hidden;
    overflow y:hidden;
    height:100%;
    width:100%;
    position:absolute;
    top:0px;
    left:0px;
    right:0px;
    bottom:0px;
    height: 100%; 
    width: 100%;
}

需要注意的是,子iframe和父iframe必须来自同一域。 您将需要一些JavaScript。 我创建了一个工作的小提琴。

https://fiddle.jshell.net/zmr0m5qv/

var newNode = document.createElement('div');  
newNode.style.bottom = 0;
newNode.style.height ="25px";
newNode.style.left = 0;
newNode.style.position = "fixed";
newNode.style.right = 0;
newNode.style["z-index"] = 100;
newNode.style["background-color"] = "yellow";
newNode.innerHTML = "sticky Text";
parent.document.body.appendChild( newNode );

按照我在CodePen上制作的指南,您可以简单地将其应用于此问题。 不使用Java脚本保持简单,因为所有这些都可以由CSS处理。

* {
    margin: 0;
}
html, body {
    height: 100%;
}
.wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -60px;
}
.footer {
    height: 40px;
}
.push {
    height: 80px;
}

“原始内容”中 ,无论有多少内容 ,页脚都将保留在页面底部。 如果#content中的内容不足以将.sticky元素放到底部,则适用此规则。

现在将其应用到iFrame页面上,您只需简单地插入CSS即可将iFrame完全拉高。 如此处所示: http : //fiddle.jshell.net/8ghsm1La/4

html, body, iframe {
    height: 100%;
    max-height: 100%;
    min-height: 100%;
    border: 0;
    margin: 0;
}

不能完全确定iFrame服务器的用途,我建议使用PHP include()或JavaScript的AJAX功能加载内容,而不是尝试在多个位置应用CSS。

希望能有所帮助。 让我知道您是否有任何问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM