我有一个响应式的iframe,但在较小(移动)屏幕上的大小不同。在较大的屏幕上,它是常见的响应式iframe,它使用padding-top%按比例缩放以适合容器内。在较小的屏幕上,容器的高度为80vh,宽度为100%。 iframe内容然后具有它自己的水平滑块(最终也将被gryo控制)。
这一切都可以在桌面浏览器和其他设备(一堆Androids)上运行,但不适用于iOS。 iframe仍能正确填充高度,但在容器宽度上不会达到最大值。相反,它保持原始比例,并且比容器更宽。
不是最容易用文字解释的,所以:
在桌面上查看并调整窗口大小,它实际上完全符合我的需要,包括一旦你达到较小的移动尺寸。或者将其加载到Android设备上(我使用BrowserStack)。您会注意到iframe宽度在容器边界处停止,并且您在iframe中获得了滚动条。
但是在iOS(iPhone)上却没有这样做。相反,iframe只是扩展到容器边界之外,而父页面变为水平滚动。
任何帮助表示感谢。
更新 找到一个半相关的帖子,建议为iframe元素添加以下CSS
width: 1px; min-width: 100%; *width: 100%;
它并没有为我做这个技巧,但是当我将它添加到iframed内容的body元素(我也控制)时,它解决了这个问题。