Ordnen Sie dies in die Kategorie persönlicher "CSS Ah-Ha Momente" ein.
Die Eigenschaft background-attachment war für mich nie sonderlich nützlich. Ich habe sie immer als eine Art altmodischen Design-Trick aus der GeoCities-Ära betrachtet, um einen sich wiederholenden Hintergrund während des Scrollens an Ort und Stelle zu halten.
Siehe den Pen QEPQqp von Geoff Graham (@geoffgraham) auf CodePen.
Es stellt sich heraus, dass ein Hintergrund mit fester Position weitaus nützlicher sein kann. Das Hinzufügen der einzelnen Zeile background-attachment: fixed; zu einem Element kann uns tatsächlich Macht verleihen, um sanfte, anmutige Übergänge zwischen Inhalten zu schaffen, die das Benutzererlebnis verbessern, ohne weitere Abhängigkeiten wie Javascript oder intensive Animationen.
Die Faux-Folienpräsentation
Erstellen Sie eine Präsentation? Eine einzelne Seite, die in „Folien“ unterteilt ist, ist ziemlich einfach.
.slide {
background-image: url('path-to-url');
background-attachment: fixed;
height: 100vh;
width: 100%;
}
Wenn wir das .slide-Element dreimal in unserem HTML aufrufen, haben wir Folien, die sich beim Scrollen nach unten zu überlappen scheinen.
Siehe den Pen Scrolling Backgrounds in CSS – 01 von Geoff Graham (@geoffgraham) auf CodePen.
Keine Bibliotheken. Kein Scroll-Jacking. Reines CSS mit voller Browserunterstützung (nun ja, außer Touchscreens). Könnte eine lustige Sache sein, mit CSS Scroll Snap Points zu kombinieren.
Der "Slide Over The Header" Header
Nehmen wir an, wir wollten eine schicke Kopfzeile, die von Inhalt überlagert wird. Das können wir auch tun.
Siehe den Pen akrJjY von Geoff Graham (@geoffgraham) auf CodePen.
Die Faux-Transparenz
Erinnern Sie sich, als Klassenzimmer Overheadprojektoren hatten und Lehrer Transparenzen erstellen mussten, um geschichtete Informationen zu präsentieren? Das können wir auch!
Siehe den Pen Scrolling Backgrounds in CSS – Seattle Trip von Geoff Graham (@geoffgraham) auf CodePen.
Weitere großartige Beispiele
Es gibt noch viele weitere großartige Beispiele dafür in Aktion auf CodePen. Hier sind ein paar zum Genießen.
Schiebende Paneele am Anfang (aber auch in der Mitte) eines Artikels
Siehe den Pen RRJWAA von Shane Zentz (@szentz) auf CodePen.
Abgewinkelte und transparente überlappende Abschnitte
Siehe den Pen skewroll von carpe numidium (@carpenumidium) auf CodePen.
Scrolling Flipbook
Siehe den Pen Scroll Flip-Book von Derek Palladino (@derekjp) auf CodePen.
Mid-Artikel-Hintergrund-Header-Breaks
Siehe den Pen vKOvgJ von Sam Stevenson (@samstevenson) auf CodePen.
Abgeschnittene Header in festen Panels
Dieses verwendet zwar nicht tatsächlich background-attachment, ist aber sehr cool und ein verwandter Effekt.
Siehe den Pen Gettin’ Clippy von Stephen Scaff (@StephenScaff) auf CodePen.
Ich liebe den "Slide Over The Header" Header. Das ist etwas sehr übliches, das gerade einfacher wurde! Ich denke, das Schönste an diesem Ansatz ist, dass er zu keinem unnötigen Markup führt.
Das Flipbook ist auch niedlich. Ich kann mir nicht vorstellen, es jemals zu bauen, aber trotzdem, das ist cool.
Tolle Arbeit, Geoff.
Danke, Sean! Es hat viel Spaß gemacht, all die Wege zu erkunden, wie dies abseits des Offensichtlichen genutzt werden kann.
Was für eine solide Ressource das ist. Danke!
Liebe das! Bringt mich dazu, kreativ zu werden und einige davon auszuprobieren – danke für den Beitrag.
Jetzt sind das echte CSS-Tricks – bis auf das letzte Beispiel wird kein JavaScript benötigt. Sehr gut gemacht. Dies wurde bereits für zukünftige Referenz gespeichert.
Ich habe einige der Demos unter iOS getestet. Es gibt einen Glitch beim Hoch-/Runterwischen zum Scrollen der Seite. Wenn der erste Tipp auf ein festes Hintergrundbild erfolgt, bleibt die Seite manchmal hängen. Kann das jemand reproduzieren?
Ich glaube, keiner der Demos scheint in iOS zu funktionieren – zumindest scheitern sie auf meinem iPad (Pro).
;-(
Es funktioniert nicht in iOS Safari.
http://caniuse.com/#search=background-attach
Ich habe vergessen zu erwähnen, ja, es wird auf iOS nicht unterstützt, aber das ist nicht das Problem, da der Fallback akzeptabel ist. Das Problem ist der Glitch. Versuchen Sie, auf das Hintergrundbild zu tippen und dann nach oben/unten zu wischen, um zu scrollen. Glitcht die Seite kurz und bleibt dann hängen?
Sehr interessanter Beitrag. 5 Daumen hoch…
Sie sollten Ihre Formulierung bezüglich „voller Browserunterstützung“ ändern, da sie in allen mobilen Browsern praktisch nicht verfügbar ist. http://caniuse.com/#feat=background-attachment Ich habe angefangen, diesen Artikel auf dem mobilen Chrome zu lesen und war sehr verwirrt, was ich da sah.
Gute Idee, erledigt und bearbeitet!
Das ist eine großartige Sammlung von Dingen, die man mit dem Hintergrund machen kann. Besonders gefallen mir die schiebenden Paneele mit dem Baumhintergrund und das mit den diagonalen Bildern. Ich werde sie mir genauer ansehen müssen, um genau zu verstehen, was sie ausmacht :)
Ich musste lachen bei der Erwähnung von Geocities. Eine gute Erinnerung. Aber das hier ist eine hervorragende Sammlung von Beispielen für Dinge, an die viele nie denken.
Toller Artikel! Ich habe das Gefühl, wir machen Builds manchmal zu kompliziert, daher ist es erfrischend, einfache Wege zu sehen, diese Effekte zu erzielen!
background-attachment: fixed; verursacht ständige Repaints beim Scrollen, aktivieren Sie Paint Flashing in Chrome Dev Tools und schauen Sie sich das an.