wake-up-neo.net

iOS 9 `-webkit-overflow-scrolling: touch` und` overflow: scroll 'bricht die Bildlauffunktion

Ich entwickle eine WebApp und ich habe ein Div innerhalb eines iFrame, das überlappten, überfluteten Inhalt hat, den ich scrollen kann.

Wenn ich auf Safar unter iOS 9 -webkit-overflow-scrolling:touch; zum div hinzufüge (das overflow-y: scroll; bereits vorhanden ist, um der Scroll ein flüssiges Gefühl zu verleihen, bricht sie ab und rollt überhaupt nicht.).

Ich weiß, dass dies ein bekanntes Problem ist, aber ich habe keine für mein Szenario relevanten Lösungen gefunden: Ich habe iFrames, die mehr als nur Daten übertragen, sie enthalten tatsächlich Inhalte für den Benutzer. Die Orientierung spielt keine Rolle, der Inhalt muss immer scrollbar sein.

10
Zach

Ich habe gerade dieses Problem mit dynamischem Inhalt in einem div mit overflow: auto und -webkit-overflow-scrolling: touch gefunden.

Schmutzige, hässliche Problemumgehung: Erzwinge, dass der Inhalt größer ist als das Scroll-Div, wenn er zu dom hinzugefügt wird. Etwas wie das:

<div style="overflow: auto; -webkit-overflow-scrolling: touch;">
    <div style="min-height: 101%">
        dynamic content
    </div>
</div>

Meine Theorie ist, dass Safari einige starke Optimierungen durchführt, wenn -webkit-overflow-scrolling: touch hinzugefügt wird, und diese nicht mit einigen Arten von dynamischen Inhalten spielen.

14

Ich bin auch mit webkit-overflow-scrolling: touch unter iOS9 auf dieses Problem gestoßen. Es kann auf einem Gerät oder dem iOS-Simulator reproduziert werden. Wie Christopher Camps erwähnt, geschieht dies nur bei dynamischen Inhalten, d. H. Inhalt, der kleiner wird als der scrollbare Container, dann größer als der Container.

Hier ist ein CodePen, der dieses Problem demonstriert , einschließlich der Korrektur von Christopher Camps.

1
Thomas Kelly

Es scheint, dass ein weiterer Hacker für diesen Safari-Fehler darin besteht, Javascript zu verwenden, um einen style="overflow: none" zu setzen und ihn sofort auf den vorherigen Wert zurückzusetzen.

0
stracktracer