There\'s an iframe, which basically has more content than fits into the frame. The sizing of the frame is based on the browser screen size and lets the overflow scroll, whic
This is an old question, but since it comes first on google and the issue exists on nowadays ios devices, I repost a better fix that I found on this page: How to get an IFrame to be responsive in iOS Safari?
Basically, if you have an iframe with scroll (let's say a twitter widget), the solution above won't work very well because it makes the parent scrollable. The fix that worked for me is replacing height: 100%
with height: 1px; min-height: 100%;
.
If iOS Safari is displaying your iframe content from a different origin than expected (i.e. it is shifted over by some pixels), try adding scrolling="no"
as an attribute to the iframe. This should prevent it from automatically fitting its content.
More here.
You can make it work by adding a wrapping div with overflow: auto;
and -webkit-overflow-scrolling:touch;
.
Here's your example with it: http://jsfiddle.net/R3PKB/7/
According to previous questions on SO it's a bug since iOS 4. I found more info here: https://stackoverflow.com/a/6721310/1047398 iframe on iOS (iPad) content cropping issue
using height: 1px; min-height: 100%;
did not work for me, though I did not need a scrolling element. I had to use the overflow:auto;
on a surrounding div
instead. Note that this method is discouraged as it may have unintended consequences, but I tested on Android/iOS and desktop browsers and could not find any issues yet. fingers crossed.
This is a nice post from Andy Shora on some iOS iframe
nuances: http://andyshora.com/iframes-responsive-web-apps-tips.html