• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

CSS3: "background: url();/background-size: cover;" lässt Website ruckeln

Erdbe3r

Weigelts Zinszahler (Rotfranch)
Registriert
14.01.09
Beiträge
248
Hallo Leute,

bin gerade beim Erstellen einer Webseite für eine Freundin. Ihr Wunsch ist ein großes Bild im Hintergrund, welches fix stehen bleibt, während der Content darüber scrollt. Das Bild also via CSS3 mit "background: url(meinBild.jpg);" eingesetzt und mit "background-size: cover" auf die Bildschirmgröße skaliert. Bei dem Bild handelt es sich um ein JPG mit 1024 × 683 px. Während ich dann den Content eingefügt habe (ein bisschen Text und 4 Bilder), merke ich, dass mit Safari (aktuelle Version 9.0) kein flüßiges Scrollen mehr möglich ist.
Nach ein wenig Rumprobieren merke ich, dass es wohl an"background: url(meinBild.jpg);" liegt. Kommentiere ich die Zeile aus, ist mein Hintergrund natürlich wieder weiß, aber das Scrollen funktioniert absolut flüßig. Setze ich wieder das Bild in den Hintergrund und deaktiviere die Skalierung via "background: cover;" kommt das Ruckeln zurück, ist allerdings nicht so gravierend wie mit Skalierung.
Wisst ihr eine evtl. eine gute Alternative zu background:cover? Wie lösen professionelle Webprogrammierer so etwas? Ich denke nicht, dass das Bild mit einer Auflösung von 1024 × 683 px und 176 kb zu groß ist? Es gibt doch einige Webseiten, die Bilder als Hintergrund nutzen. Wie kriegen die eine gute Performance hin?

Danke schonmal, für eure Hilfe! :)
 

_macminimal

Melrose
Registriert
11.11.14
Beiträge
2.490
edit:

<body>

<div id="meinHGbild" style="position:fixed; top:0px; left:0px; width:100%; height:100%; background:#FFA4A6; background:url(meinbild.jpg);background-size:contain; background-repeat: no-repeat;"></div>

<div id="restlicherContent">...</div>

</body>



<!--

dein JPG sollte etwas größer sein, B1250px x ? sollten es mE schon sein, es sei denn das Motiv ist sowieso unscharf

-->

Möglicherweise kann man das auch direkt auf den body anwenden (ungetestet)

<body style="background:url(meinbild.jpg) no-repeat fixed; background-size:contain;">

<div id="derrestlichecontent">...</div>

</body>
 
Zuletzt bearbeitet: