| Tweet |
Hintergrundbild passt sich an Browsergröße an – CSS 3
-
Wie ihr sicher wisst hat IT-Runde seit längerem ein neues passendes Hintergrundbild. Vorher wurden immer nur kleine Backgrounds horizontal und vertikal wiederholt, was jedoch nicht sehr ansprechend aussah. Deshalb wollte ich eine Grafik in den Hintergrund setzen, welche sich an die Browsergröße anpasst. Habe länger nach einem passenden Code gesucht und es dann schließlich mit dem z-index und der einfachen Streckung auf 100% hinbekommen.
Soweit klappte mein Code auch in den verschiedensten Browsern, doch egal mit welchem mobilen Device man versucht hat die Webseite aufzurufen, führte es zu verschiedenen Problemen. Ein Besucher berichtete mir, dass sich der Hintergrund über den Content auf seinem Android-Smartphone legt – Ein anderer teilte mir mit, dass gar kein Hintergrund angezeigt wird und auf dem iPad konnte man schlicht und einfach gar nicht erst scrollen
.Gerade in der heutigen Zeit wo immer mehr Besucher über ihre mobilen Geräte online gehen, muss so ein Fehler schnellstmöglich behoben werden. Ich suchte also eine andere Lösung und habe mir dann die background-size Funktion von CSS3 näher angeschaut. Einfach einen globalen (html) Background definieren, ihn zentrieren (center) und fixieren (fixed). Soweit noch keine Neuheit, doch mit background-size: cover; bietet CSS3 den Nutzern die Möglichkeit ein Bild so klein es geht zu skalieren, aber trotzdem das Element vollständig zu füllen. Somit ist es kinderleicht die Background-Grafik immer auf 100% zu strecken, ohne dass sich die Seitenverhältnisse des Hintergrundes ändern:
1 2 3 4 5 6 7 8 9
<style type="text/css"> html { background: url(http://it-runde.de/dateien/background-fest.jpg) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } </style>
Getestet wurde das Ergebnis nun schon im Safari, Google Chrome, Mozilla Firefox und auch dem Internet Explorer – Ohne Probleme. Auch auf dem iPad, iPhone und meinem HTC Desire HD funktioniert IT-Runde wieder ohne Fehler. In älteren Browsern konnte ich dies noch nicht testen, jedoch sollte es auch hier keine Komplikationen geben.
Wer mehr zu background-size und seinen Schlüsselwerten cover bzw. contain erfahren will, kann das auf Norman’s Blog tun. Wer kein CSS 3 verwenden möchte, findet hier auch eine reine CSS, sowie eine jQuery Methode.
Viel Spaß beim ausprobieren
Tweet







25.07.2011 um 19:34 Uhr
Habe das ja auf Twitter verfolgt, dass IT-Runde anscheinend auf dem iPad Probleme machte. Auch auf meinem Nokia gab es einfach kein Hintergrundbild. Besser als gar nicht erst scrollen zu können, aber auch blöd. Super Snippet, und dann auch sofort in CSS3
.
26.07.2011 um 13:07 Uhr
Puh, die Smartphones stellen Webseiten und deren Betreiber echt auf die Probe! Da trennt sich die Spreu vom Weizen
Sieht man gleich wer mitdenkt und auf dem neuesten Stand ist.
28.07.2011 um 22:17 Uhr
Also CSS3 ist schon ziemlich cool
Und so als Tipp, für alle die sich mal die ganzen neuen Funktionen anschauen wollen: http://www.css3maker.com/
28.07.2011 um 22:27 Uhr
Sehr coole Seite, da sieht man richtig was CSS 3 so alles drauf hat, danke dafür!
31.07.2011 um 20:16 Uhr
Sehr fein sehr fein, die Möglichkeit kannte ich noch nicht. Normalerweise benutz ich deswegen Bilder in Wiederholung (Muster) oder einfach Farben, hiernach hab ich schon lange gesucht
Wie machst du das denn mit dem komprimieren und der Dateigröße, einfach aus Photoshop “Für Web und Geräte speichern”? Welche Größe (px) und Qualität nimmst du für angenehme Dateigrößen?
31.07.2011 um 23:52 Uhr
Niklas, du kannst dir für Firefox mal Firebug und PageSpeed holen. Letzteres optimiert die Bilder, setzt aber Firebug voraus.
15.08.2011 um 18:57 Uhr
Haaaaammmmer!!!!!! Ihr habt keine Ahnung wie lange ich gesucht habe, wieviele Leute ich gefragt habe und wie lange ich das shon selbst immer wieder probiere!! Immer hiess es “Dass ist bei css3 zurzeit noch nicht möglich”. DankeDankeDanke!
27.08.2011 um 14:22 Uhr
Danke für den tollen Tipp; ich habe es gleich mal ausprobiert. Doch ich habe ein kleinen Problem; vielleicht kann mir jemand weiterhelfen?
Hier mein Problem: Das Hintergrundbild passt sich nun in der Breite immer dem Browserfenster an – wunderbar. Wenn das Browserfenster aber sehr schmal wird, wird das Bild darunter noch einmal wiederholt (Obwohl ja no-repeat angegeben wurde).
Ich möchte es aber so haben, dass die Höhe des Browserfenster auch immer vom Bild ausgefüllt ist / bleibt (dafür müsste das Bild dann skaliert werden und Rechts oder Links „überstehen”). Geht das irgendwie?
Besten Dank im Voraus. MB
Hier der Link zum Beispiel: http://www.leomaria.de/mb_test/test.html
12.11.2011 um 02:19 Uhr
Probiere es mal mit:
background-size: auto;
19.02.2012 um 10:34 Uhr
… cooles Teil – vielen Dank !
17.07.2012 um 11:17 Uhr
Hhm!
Eigentlich eine Superlösung.
Wenn ich mir diese Seite hier aber auf einem iPad ansehe und nach unten scrolle, verschwindet der Hintergrund …
08.11.2012 um 14:13 Uhr
Hallo zusammen,
ich habe das Script in meinem Quelltext übernommen, es funkioniert im Firefox einwandfrei aber beim testen im IE wird das Bild zwar angezeigt aber nicht gestreckt sowie im FF. hat jemand auch das Problem?
Wäre cool wenn mir jemand nen Tipp geben könnte. Danke
20.11.2012 um 08:40 Uhr
Hallo,
tolles Skript.
Ich habe das hier mal in NOF (NetObjects Fusion) Webdesign Software eingebaut und habe dabei festgestellt, dass das Hintergrundbild bei dem IE8 oder älter eben nur verkleinert aber nicht vergrößert wird. Daher solltest Du das Bild ausreichend groß wählen.
http://www.tommyherrmanndesign.com/nof/Hintergrundbild-Skript/html/tutorial.html