一个页面上有多个 Iframe 缩放问题
Multiple Iframes on one page scaling issue
我试图将两个响应式iframes
放在一个页面上。不幸的是,iframe
的内容正在调整大小,但 iframe 边界的高度不会改变,因此当您重新调整窗口大小时,两个 iframe 之间的上限会增加。我希望你能明白我的意思。我能做些什么来避免这种差距?
function adjustIframes() {
$('iframe').each(function() {
var
$this = $(this),
proportion = $this.data('proportion'),
w = $this.attr('width'),
actual_w = $this.width();
if (!proportion) {
proportion = $this.attr('height') / w;
$this.data('proportion', proportion);
}
if (actual_w != w) {
$this.css('height', Math.round(actual_w * proportion) + 'px');
}
});
}
$(window).on('resize load', adjustIframes);
iframe {
margin: 5px;
}
<center>T E S T T O P</center>
<iframe frameborder="0" height="600" src="http://danielsalaw.de/Bilder/Melli/indexRev.html" width="100%"></iframe>
<iframe frameborder="0" height="600" src="http://danielsalaw.de/Bilder/Kocha/indexRev.html" width="100%"></iframe>
<center>T E S T B O T T O M</center>
你需要添加包装器元素来使iframe响应(至少没有javascript黑客(。
这是一个没有javascript的工作示例(不需要它(:
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.wrap {
position: relative;
padding-bottom: 52.68%;
padding-top: 30px;
height: 0;
overflow: auto;
-webkit-overflow-scrolling:touch; //<<--- THIS IS THE KEY
border: solid black 1px;
}
<center>T E S T T O P</center>
<div class="wrap">
<iframe frameborder="0" src="http://danielsalaw.de/Bilder/Melli/indexRev.html"></iframe>
</div>
<div class="wrap">
<iframe frameborder="0" src="http://danielsalaw.de/Bilder/Kocha/indexRev.html"></iframe>
</div>
<center>T E S T B O T T O M</center>
这里唯一的问题是您需要知道iframe所需的纵横比。基本上在这里,我只是将高度除以原始iframe的宽度(= 52.68%(,然后在填充技巧中使用它。
基本上取自这个关于使 iframe 响应的答案:https://stackoverflow.com/a/27836998/900271
IFrame 高度可能很痛苦,因为 iframe 内的内容是独立于父级布局的,因此您无法真正使用 CSS 设置它样式并获得高度进行调整(正如 Oke Henrik Skogstream 所说(。
如果你不知道iframe内容的高度,那么你将不得不从iframe内部用javascript破解它。
请参阅此处了解一个简单的JavaScript黑客:https://github.com/jcharlesworthuk/reactive.iframes
相关文章:
- 更改高贴图的缩放级别
- 在不阻止默认行为的情况下检测IE10中的缩放
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 缩放Raphael/SVG容器以适应所有内容
- 传单缩放控制位置错误
- 在不移动内部文本的情况下缩放元素的效果
- 调整缩放窗口高度提升缩放
- 计算CSS3缩放框在另一个框中的最高位置
- D3.JS向rect添加缩放和列表项
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 将直流图表库中的折线图缩放限制为小时
- 为什么缩放按钮不会显示在照片擦除中
- 动态设置谷歌地图缩放
- 缩放iframe以适应内容(javascript)
- 如何防止iframe在缩放时重新调整大小
- 一个页面上有多个 Iframe 缩放问题
- 如果我在我的页面上使用 CSS 缩放,然后将另一个包含动画的网站加载到 iframe 中,我的页面会变得模糊并且动画行为
- 在iframe中自动缩放(调整大小)图像
- 使用iframe本身缩放iframe内容
- 根据页面大小缩放iframe的内容