fixed – im Browserfenster fixiert
background-attachment: fixed fixiert das Hintergrundbild an einer festen Position im Browserfenster und erweckt beim Scrollen den Anschein, die folgenden Inhalte würden über das Hintergrundbild geschoben. background: fixed ist die Basis für den Parallax-Effekt.
elem { background: url(flowers.png); }
Umschalten und ein Stück scrollen, um den Unterschied zu sehen.
- scroll (Voreinstellung)
- lässt das Hintergrundbild zusammen mit Text und Bildern scrollen.
- fixed
- hält das Hintergrundbild fest.
background-attachment: fixed ist mit einem hohen Aufwand für das Rendern und das Scrollen verbunden und die mobilen Browser sparen Energie an allen Ecken und Katen. Darum ist background: fixed auf vielen mobilen Geräten deaktiviert oder verhält sich nicht wie vorgesehen.
Besonders iOS (Safari auf dem iPad, iPhone) ist ausgesprochen sparsam beim Scrollen und setzt Javascript während des Scrollens aus.
Und mehr Klagen über background: fixed auf dem iPad: Mit background-size: cover wird das Hintergrundbild in Mobile Safari und Mobile Chrome zwar angezeigt, aber nur ein Bildauschnitt ist sichtbar und wirkt, als wäre er stark gezoomt. Daran hat sich auch in der aktuellen Version 17.2.1 (19617.1.17.11.12) nichts geändert.
Unter Android mit Chrome wirkt background-attachment: fixed, nicht mit dem Samsung-Browser.
.fixed { background-image: url(rhein.jpg); background-position: bottom center; background-repeat: no-repeat; background-size:cover; background-attachment:fixed; }
background-attachment: local
Die Werte scroll und fixed gehen zurück auf CSS 2.1. scroll ist die Voreinstellung, bei der die Position des Hintergrunds relativ zum Element bleibt, für das es definiert ist. background-attachment: fixed ist relativ zum Viewport (aka Browserfenster), so dass der Hintergrund beim Scrollen fest steht. Wenn aber nur ein Teil der Seite scrollbar ist – z.B. ein Block mit overflow: scroll – scrollte der Hintergrund nicht mit, wenn der Block selber gescrollt wurde.
Mit background-attachment: local richtet sich der Hintergrund am Block aus:
- background-attachment: scoll
- Beim Scrollen der Seite scrollt der Hintergrund des Blocks mit, beim Scrollen des Overlays im Block bleibt der Hintergrund fest.
- background-attachment: local
- Beim Scrollen der Seite scrollt der Hintergrund des Blocks mit, beim Scrollen des Overlays im Block scrollt der Hintergrund mit.
Der Wechsel von scroll zu local zeigt, dass sich das Bezugssystem ändert – die Position des Hintergrundbilds richtet sich bei local am Block aus.