Verwenden eines scrollbaren div
.scrollable-div{
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
DEMO Bei Android-Geräten ist das Scrollen beim Wischen gleichmäßig und weist sogar Beschleunigung und Verzögerung auf.
Der gleiche Code auf einem iPhone, das Scrollen ist steif. Wenn der Benutzer die Berührung loslässt, stoppt der Bildlauf sofort.
Wie kann das iPhone das scrollbare Div wie einen Android-Browser behandeln, mit sanftem Beschleunigen/Abbremsen im nativen Stil?
Mit overflow
können Sie ein Bildlauf im nativen Stil für ein HTML-Element erhalten, indem Sie die folgende proprietäre CSS-Eigenschaft verwenden:
-webkit-overflow-scrolling: touch;
Es hat jedoch einige Vorbehalte. Je nachdem, was sich in dem Element befindet, ist das Rendern möglicherweise etwas kaputt. Daher sollten Sie es testen und prüfen, ob es Ihren speziellen Anforderungen entspricht. Ich bin mir auch nicht sicher, ob es richtig funktioniert, wenn Sie overflow-y: hidden
angeben. Wenn dies nicht der Fall ist, sollten Sie in der Lage sein, es zum Laufen zu bringen, indem Sie mit verschiedenen Werten für overflow-x
, overflow-y
und overflow
herumspielen (auto
scheint nicht zu funktionieren).
Wenn Sie möchten, können Sie overflow-y: hidden
mit Ihrer div
fälschen, indem Sie eine zweite verschachtelte div
mit dem Inhalt erstellen und diese Eigenschaft darauf setzen. Aber ich hoffe das ist nicht nötig.
Der Vorschlag von Marco Aurélio ist eigentlich die beste Lösung. Am besten funktioniert es, wenn Sie overflow-y: scroll
UND das Element -webkit-overflow-scrolling: touch
hinzufügen. Sie erhalten ein Bildgefühl, das dem Einheimischen ähnelt
Ok, das funktioniert für mich:
body, html {
overflow-x:hidden;
-webkit-overflow-scrolling: touch;
}