我尝试创建一个响应式iframe,它在PC上呈现良好但如果我们考虑移动设备则无法响应。 这是我的jsfiddle
这是我的 HTML
<div class="outer">
<div class="noScrolling">
<iframe class="inner" src="https://www.initialstate.com/embed/#/tiles/kkCIxiV4PJmg6y88ldn5HvhNiALMBdHp" frameborder="0" allowfullscreen></iframe>
</div>
CSS
.outer{
position: relative;
background: url(background-with-backdrop.jpg) no-repeat center;
background-size: 100% 100%;
//width:420px;
height:800px;
}
.inner{
position: relative;
left: 300px;
top: 75px;
width:1050px;
height:582px;
}
.noScrolling{
width: 1050px; /*or any other size*/
height: 800px; /*or any other size*/
overflow-x:hidden;
overflow-y:hidden;
}
答案 0 :(得分:2)
检查一下..我给你自己实现了你的问题。
修改强>
我将尝试解释我的所作所为。
vw and vh
单位作为宽度和高度,因为它们根据您的尺寸重新缩放尺寸的内容到了窗户的大小。现在,如果我们查看CSS,我已将body
设置为容器,并分别给它width and height of 100vw, and 100vh
。
然后,此容器内的所有其他内容都可以开始使用正文维度的百分比。
body {
width: 100vw;
height: 100vh;
margin: 0 auto;
}
.outer {
position: relative;
background: url("http://wrb.farm/demo/background-with-backdrop.jpg") no-repeat center;
background-size: 100% 100%;
width: 100%;
height: 100%;
}
.noScrolling {
width: 100%;
height: 100%;
}
.inner {
position: relative;
width: 54%;
height: 73%;
top: 9%;
left: 23%;
overflow: hidden;
}
<body>
<div class="outer">
<div class="noScrolling">
<iframe scrolling="no" seamless="seamless" class="inner" src="https://www.initialstate.com/embed/#/tiles/kkCIxiV4PJmg6y88ldn5HvhNiALMBdHp" frameborder="0" allowfullscreen></iframe>
</div>
</body>
答案 1 :(得分:1)
作为未来其他人的更新,您可以使用原生javascript执行此操作,而无需使用Responsive Iframes的框架/库。
答案 2 :(得分:0)
借助名为“响应式 iframe”的工具,使响应式 iframe 变得更加容易。
如何处理: