In Chrome für Mac kann man eine Seite "überschreiben" (mangels eines besseren Wortes), wie im folgenden Screenshot gezeigt, um zu sehen, was dahinter steckt, ähnlich wie beim iPad oder iPhone.
Ich habe festgestellt, dass einige Seiten deaktiviert sind, z. B. Google Mail und die Seite "Neuer Tab".
Wie kann ich "Overscrolling" deaktivieren? Gibt es andere Möglichkeiten, wie ich "Overscrolling" steuern kann?
html
css
macos
google-chrome
Zufälliges Blau
quelle
quelle
Antworten:
Die akzeptierte Lösung funktionierte bei mir nicht. Der einzige Weg, wie ich es zum Laufen gebracht habe, während ich noch scrollen konnte, ist:
quelle
html
Styling-Hack nicht respektieren, als auch für mobile Webbrowser, die den vollständigen Überlauf derbody
Nichtbeachtung der eingestellten Höhe betrachtenhtml
.$(window).scrollTop
?window.scrollY
ist immer0
.In Chrome 63+, Firefox 59+ und Opera 50+ können Sie dies in CSS tun:
Dadurch wird der im Screenshot der Frage gezeigte Gummibandeffekt unter iOS deaktiviert. Es deaktiviert jedoch auch Pull-to-Refresh, Glow-Effekte und Scroll-Verkettung.
Sie können jedoch beim Überblättern Ihren eigenen Effekt oder Ihre eigene Funktionalität implementieren. Wenn Sie beispielsweise die Seite verwischen und eine übersichtliche Animation hinzufügen möchten:
Browser-Unterstützung
Zum jetzigen Zeitpunkt unterstützen Chrome 63+, Firefox 59+ und Opera 50+ dies. Edge hat es öffentlich unterstützt, während Safari unbekannt ist. Verfolgen Sie hier den Fortschritt und die aktuelle Browserkompatibilität in der MDN-Dokumentation
Mehr Informationen
overscroll-behavior
CSS-Spezifikationquelle
Eine Möglichkeit, dies zu verhindern, ist die Verwendung des folgenden CSS:
Auf diese Weise hat der Körper nie einen Überlauf und "springt" nicht, wenn Sie oben und unten auf der Seite scrollen. Der Container wird seinen Inhalt perfekt scrollen. Dies funktioniert in Safari und in Chrome.
Bearbeiten
Warum das Extra-
<div>
Element als Wrapper nützlich sein könnte:Die Lösung von Florian Feldhaus verwendet etwas weniger Code und funktioniert auch einwandfrei. Es kann jedoch eine kleine Eigenart haben, wenn es um Inhalte geht, die die Breite des Ansichtsfensters überschreiten. In diesem Fall wird die Bildlaufleiste am unteren Rand des Fensters zur Hälfte aus dem Ansichtsfenster verschoben und ist schwer zu erkennen / zu erreichen. Dies kann bei Bedarf vermieden werden
body { margin: 0; }
. In Situationen, in denen Sie dieses CSS nicht hinzufügen können, ist das Wrapper-Element hilfreich, da die Bildlaufleiste immer vollständig sichtbar ist.Unten finden Sie einen Screenshot:
quelle
Mit diesem Code können Sie
touchmove
vordefinierte Aktionen entfernen :quelle
quelle
position: fixed
ist der Retter!Versuchen Sie es auf diese Weise
quelle
position: absolute
funktioniert bei mir. Ich habe aufChrome 50.0.2661.75 (64-bit)
und OSX getestet .quelle
Der Bounce-Effekt kann nur deaktiviert werden, wenn die Höhe der Webseite gleich
window.innerHeight
ist. Sie können Ihre Unterelemente scrollen lassen.quelle