CSS: Tricks mit Hintergrundbildern
Die meisten über CSS realisierten Designs machen ausgiebig Gebrauch von Hintergrundbildern - für flexible Layouts ebenso wie für raffinierte Effekte.
- CSS: Tricks mit Hintergrundbildern
- Teil 2: CSS: Tricks mit Hintergrundbildern
- Teil 3: CSS: Tricks mit Hintergrundbildern
- Teil 4: CSS: Tricks mit Hintergrundbildern

© Archiv
Das CSS-Vorzeigeprojekt CSS Zen Garden wäre ohne Hintergrundbilder kaum vorstellbar, denn gerade sie ermöglichen die so unterschiedlichen Designs.Der Workshop zeigt, wie Sie über Hintergrundbilder eine bessere Performance der Webseite erreichen, Effekte mit fixen Hintergrundbildern erreichen und anderes.
Basics
Hintergrundbilder kann man allen Elementen zuweisen. Angenommen, Sie wollen Links, die eine bestimmte Klasse (.bsp) haben, mit einem kleinen Icon versehen. Dann notieren Sie per CSS:
.bsp {
background-image: url(icon.gif);
background-repeat: no-repeat;
padding-left: 30px;
}
Bei background-image geben Sie den Pfad zum Bild an. Normalerweise werden Bilder gekachelt. Bei einem Icon ist dies nicht erwünscht und lässt sich wie in unserem Beispiel mit background-repeat: no-repeat verhindern.
Das zusätzliche padding-left: 30px ist sinnvoll bei einem Icon, das links vom Text angezeigt werden soll. Dieser Wert sollte der Größe des Hintergrundbildes entsprechen. Er sorgt dafür, dass das Bild vor dem Text platziert wird und auch das Bild als Teil des Links anklickbar ist.
Schneller mit Hintergrundbildern
Wenn Sie auf Ihrer Webseite mehrere Icons verwenden, kann das Performance-Einbußen mit sich bringen, denn jedes Bild muss einzeln vom Server geladen werden.
Das bedeutet einen zusätzlichen Request pro Icon. Abhilfe schaffen hier CSS Sprites: Das heißt, Sie kombinieren Ihre Icons zu einem größeren Hintergrundbild. Die Icons sollten an einem Raster ausgerichtet werden und außerdem mit etwas Leerraum darum herum versehen sein.
Wenn ein Hintergrundbild größer ist als das Element, dem es zugewiesen wird, ist nur ein Ausschnitt sichtbar. Damit bei den einzelnen Elementen jeweils der richtige Ausschnitt, also das richtige Icon, angezeigt wird, verschieben Sie das Hintergrundbild über background-position.
Hier geben Sie zwei Werte an: Der erste bestimmt die Position von links, der zweite die Position von oben. Positioniert wird dabei die linke obere Ecke des Bildes. Durch einen negativen Wert für die Position von oben bewirken Sie beispielsweise, dass das darunter platzierte Icon angezeigt wird.
Nehmen wir eine Liste, bei der jeder einzelne Punkt ein anderes Icon erhalten soll:
<ul id="sprites"><li><a href="#" class="icon1">
Eins</a></li><li><a href="#" class="icon2">
Zwei</a></li><li><a href="#" class="icon3">
Drei</a></li></ul>