Issue with scrolling in iOS 5 using

I have an HTML page with a fixed-height div which should be scrollable (only vertically). In iOS 5 this can be achieved using:

overflow-y: auto;
-webkit-overflow-scrolling: touch;

The div contains an unordered list with about 10 items.

The scrolling works, but sometimes it scrolls only if I swipe my finger diagonally or even horizontally and not vertically as it should be.

I'm wondering if anyone has encountered this issue. I don't want to think that it is a bug in iOS5, but I can't figure out what I'm doing wrong because most of the time it works fine.


I had exactly the same issue. The problem turned out to be caused by two zero size iframes my site used to track history changes and load scripts. Removing these fixed the issue. I filed a bug with apple, waiting to hear back from them.

Check to see if you have any iframes on your page they could be the cause.


I have found a hacky solution but it needs javascript...

I stumbled upon that problem while loading scrollable nodes via ajax and appending them with js.

I found out that resetting the -webkit-overflow-scrolling property with js saved the day

JS CODE:

var myDiv = $('.myDiv');
myDiv.css('-webkit-overflow-scrolling','auto');
function fn(){
    myDiv.css('-webkit-overflow-scrolling','touch');
}
setTimeout(fn,500);

It really sucks that we have to call the setTimeout method but that's the only way I could think of...

EDIT : Watch out for display:none

Webkit overflow scrolling touch CSS bug on iPad


You need to put this css setting in your css file - the one you load using the content_css configuration variable:

body {
    -webkit-transform: translate3d(0, 0, 0);
}

The other option is to set the css directly from code on tinymce initialization:

$(tinymce.activeEditor.getBody()).css('-webkit-transform', translate3d(0, 0, 0));
链接地址: http://www.djcxy.com/p/95632.html

上一篇: 首先在ipad上轻敲CSS固定div

下一篇: 问题在iOS 5中使用滚动