It seems that iOS5 will finally support position:fixed. This is the best news since
transform3d() and it’s even more exciting if you think that Android already supports it since v2.1 (a bit of consistency every now and then doesn’t hurt).
In some scenarios you won’t be needing iScroll to have a fixed header or a scrollable portion of the screen, and I couldn’t be happier about it. What doesn’t seems to be clear is when and where native position:fixed is going to really save your life. (Quick answer: not so often).
You’ll be able to fix elements on screen with just one CSS property and the page will scroll underneath (no JS required). The problem is that the scrollbar still goes over the fixed elements. If you set a header or a footer they stick on top and bottom but the page size is still the whole screen so the vertical scrollbar goes from the very top to the very bottom covering your fixed elements. This might or might not be an issue, you decide.
A good setup in this scenario is a fixed thin left column dedicated to menu icons and a right scrolling contents area. Or maybe a top left icon which opens a slide in menu. In both cases the scrollbar won’t overlap your precious GUI.
What you can’t still do is a 2 scrolling columns layout (ala iPad) for example. To our rescue comes overflow:scroll.
What we really need is the ability to set a scrollable area. This is done thanks to
overflow:scroll apparently also supported by iOS5. The problem here is that one finger scrolling inside a div has scrollbars, momentum and zoom disabled. Yes, is that useless.
Please note that my comments are based on internet rumors about a beta iOS5 release. Apple is not new at stripping out features from golden master.
As a side story, iScroll v4.1 will be out soon with performance improvements. Stay tuned.