Zum Inhalt springen

CSS-Sprites

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. September 2011 um 12:48 Uhr durch Nightfly85 (Diskussion | Beiträge) (AZ: Die Seite wurde neu angelegt: Mit '''CSS-Sprites''' wird eine Technik benannt, die es dem Webdesigner erlaubt, eine [[Computergrafi…). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit CSS-Sprites wird eine Technik benannt, die es dem Webdesigner erlaubt, eine Grafikdatei einzubinden, die aus vielen kleineren Grafiken besteht. Der Begriff setzt sich zusammen aus der Abkürzung für Cascading Stylesheets (CSS) sowie der Sprite-Technik, wie sie zum Beispiel in alten Videospielen benutzt wurde. Dokumentiert wurde diese Technik vermutlich das erste Mal 2004 auf A List Apart, einer englischsprachigen Webseite für Webdesigner[1][2]. Auch große Webseiten wie Google, Xing, Amazon oder Facebook nutzen diese Technik[3][2].

Prinzip

Mehrere kleinere Grafiken werden zu einer großen zusammengefasst. So könnten beispielsweise viele kleine Icons in einem Bild zusammengefügt sein. Mit Hilfe von CSS hat der Entwickler dann die Möglichkeit, nur einen kleinen Teil dieser Gesamtgrafik einzublenden. Dafür werden die CSS-Eigenschaften background-image und background-position verwendet.

Vorteile

Schema eines Bildwechsels, sobald der Mauszeiger ein Element überfährt

Vermeiden von Verzögerung bei Bildwechseln

Das Austauschen eines Bildes ist in der Webseitenentwicklung nicht unüblich - so wird eine Grafik beispielsweise ausgetauscht, sobald der Mauszeiger über einem bestimmten Element liegt (der sogenannte Hovereffekt). Das Laden der zweiten Grafik erfordert jedoch immer eine gewisse Ladezeit - selbst bei schnellen Internetverbindungen nimmt der Benutzer eine kurze Verzögerung oder ein kurzes Flackern wahr. Bei der Sprite-Technik dagegen ist das zweite Bild bereits Teil der Gesamtgrafik, die zuvor für das erste Bild schon im Cache des Browsers liegt.

Verbesserung der Ladezeit

In den meisten Fällen kann durch eine konsequente Nutzung von Sprites eine Steigerung der Webseiten-Ladezeit erreicht werden: Der Browser lädt wesentlich schneller eine Datei mit 10km als zehn Dateien mit jeweiles 1kb. Das liegt daran, dass die HTTP-Spezifikation nur das Laden weniger Dateien zum gleichen Zeitpunkt vorsieht.

Weitere Vorteile

Mit der Sprite-Technik können auch sogenannte Image-Maps ersetzt werden. Hierbei handelt es sich um ein HTML-Element, dass Teile einer definierten Grafik anklickbar macht[4]. Außerdem ist es möglich, unter Zuhilfename von CSS 3 eine grafik animiert darzustellen - ohne das Verwenden einer GIF-Datei.[5]

Nachteile

Das Erstellen der CSS-Sprites ist recht aufwendig und steigt proportional mit der Anzahl der verwendeten Einzelgrafiken. Neben der Zusammenstellung mit Hilfe eines Bildbearbeitungsprogrammes muss der Entwickler auch in der Stylesheet-Datei für jedes Element die Hintergrundgrafik sowie die genaue Position angeben. Für die Zusammenstellung der Sprite-Dateien sowie die Erzeugung des Stylesheet-Codes existieren im Internet allerdings viele Generatoren, die dem Webdesigner das Erstellen der Sprites erleichtern[6].

Sprites können sich auch negativ auf die Ladezeit der Webseite auswirken - beispielsweise wenn die Webseite nur sehr wenige Grafiken anzeigen muss, dafür aber die gesamte Spritedatei geladen wird, die um ein vielfaches größer ist.

Einzelnachweise

  1. alistapart.com: CSS-Sprites (2004) (engl.)
  2. a b Einführung in CSS-Sprites auf der Webseite Smashing Magazine (engl.)
  3. webkrauts.de: Kürzere Ladezeiten durch CSS-Sprites
  4. Blogartikel: CSS Sprites vs. Image-Maps
  5. Animationen mit CSS3 und Sprites (engl.)
  6. http://css-tricks.com/158-css-sprites/