CSS Hintergrundbilder
Der Hintergrund eines Elements kann als Farbe oder als Hintergrundbild festgelegt werden. Mit CSS kann man Hintergrundbilder horizontal und vertikal wiederholen, oder einzeln plazieren. Hintergründe werden nicht vererbt.
Eigenschaften
background-image:url(bild.gif)background-repeat:repeat | no-repeat | repeat-x | repeat-y;background-position:left top | center | 20px 50%;background-attachment:scroll | fixed | local;background-size:auto | 100% 100% | cover | contain;
background-image
Mit background-image wird ein Bild als Hintergrund eines Elements definiert. Ohne weitere Angaben wird das Bild in seiner Originalgrösse dargestellt und automatisch wiederholt.
.bild1{background-image:url(bild.gif); }
Werte: none | url()
background-repeat
background-repeat steuert, ob und wie ein Hintergrundbild
horizontal und/oder vertikal wiederholt wird.
Standardmässig wird ein Hintergrundbild in beide Richtungen gekachelt.
.bild2 {
background-image:url(bild.gif);
background-repeat:repeat-x;}
.bild3 {
background-image:url(bild.gif);
background-repeat:repeat-y;
}
Werte:no-repeat | repeat | repeat-x | repeat-y
Kurzschreibweise
Unter background können Werte zusammengefasst werden.
background: #ccc url(blumen.gif) no-repeat fixed right bottom;
Reihenfolge (empfohlen): Farbe → Bild → Repeat → Attachment → Position
background-position
Mit background-position wird festgelegt, wo ein Hintergrundbild innerhalb eines Elements positioniert wird. Die Position wird immer relativ zur Fläche des Elements berechnet.
.bild4 {
background: url(bild.gif) no-repeat center center;
}
.bild5 {
background: red url(bild.gif) no-repeat 85% 20px ;
}
Die Position setzt sich aus zwei Werten zusammen: einem horizontalen und einem vertikalen Wert.
- horizontal:
left | center | right - vertikal:
top | center | bottom
Reihenfolge: Der erste Wert beschreibt die horizontale Position, der zweite Wert die vertikale Position. Wird nur ein Wert angegeben, wird der zweite automatisch auf
center gesetzt.
background-position: left bottom;
background-position: right; /* entspricht: right center */
Alternativ können auch Pixel oder Prozentwerte verwendet werden:
background-position: 20px 50%;
background-position: 10% 80%;
background-attachment
background-attachment bestimmt, wie sich ein Hintergrundbild beim Scrollen verhält und ob es an das Element oder an das Browserfenster gebunden ist.
scroll (Standard)
Das Hintergrundbild ist an das Element gebunden und scrollt zusammen mit dessen Inhalt.
Bewegt sich die Seite, bewegt sich auch das Hintergrundbild.
fixed
Das Hintergrundbild ist relativ zum Browserfenster (Viewport) fixiert.
Beim Scrollen bleibt das Bild an derselben Position sichtbar,
während sich der Seiteninhalt darüber hinweg bewegt.
Dieser Effekt wird häufig für einfache Parallax-Hintergründe genutzt.
local
Das Hintergrundbild ist an den scrollbaren Inhalt des Elements gebunden.
Es bewegt sich nur, wenn das Element selbst scrollbar ist
(z. B. bei overflow: auto).
body {
background:url(bild.gif) no-repeat fixed right center;
}
background-size
Mit background-size wird festgelegt,
wie gross ein Hintergrundbild innerhalb eines Elements dargestellt wird.
Die Grösse des Bildes ist unabhängig von der Grösse des Elements
und kann explizit oder automatisch angepasst werden.
background: url(bild.gif) no-repeat bottom left; background-size: 100% 100%;
background: lavender url(bild.gif) no-repeat center center; background-size: auto 100px;
background: url(bild.gif) no-repeat top left / cover;
background: url(bild.gif) no-repeat center center / contain;
Die Grösse kann mit zwei Werten angegeben werden:
- erster Wert: Breite des Hintergrundbildes
- zweiter Wert: Höhe des Hintergrundbildes
Alternativ stehen spezielle Schlüsselwörter zur Verfügung:
cover– das Bild füllt das Element vollständig aus, Teile können abgeschnitten werdencontain– das Bild wird vollständig angezeigt, es können freie Flächen entstehen
Kurzschreibweise mit background-size
background: #ccc url(bild.gif) no-repeat right bottom / cover fixed;
Reihenfolge (empfohlen): Farbe → Bild → Repeat → Position / Size → Attachment
Kurz gesagt
position: erst horizontal, dann vertikalsize: bestimmt die Grösse des Bildes, nicht des Elementsbackground-sizekann in der Kurzschreibweise nur mit / angegeben werden.