Własność CSS background-image umożliwia ustawienie jednego lub większej liczby obrazów graficznych w tle elementu.
Jeśli tych obrazów jest więcej niż jeden, to tworzą one kolejne warstwy, z których najbliższa użytkownikowi (na wierzchu) jest ta, która została zdefiniowana jako pierwsza. Na samym spodzie znajduje się warstwa koloru tła (definiowana za pomocą własności background-color
), jeśli zostanie on określony.
Należy pamiętać, że własność background-image
wstawia obrazy w tle elementów, a więc w obszarze, który z definicji nie stanowi najważniejszej części treści. Dlatego obrazy te nie powinny zawierać żadnych istotnych informacji, a jedynie stanowić detal dekoracyjny, którego brak nie byłby żadną stratą dla użytkownika.
Jest to istotne z punktu widzenia użytkowników z niepełnosprawnościami, którzy posługują się na przykład czytnikami ekranu – te programy nie mają dostępu do treści widocznej na obrazach.
Ważne dla znaczenia treści grafiki powinno się wstawiać na stronę nie za pomocą własności background-image
, tylko za pomocą elementu HTML img
.
Ponadto wraz z obrazem lub obrazami tła zawsze należy zdefiniować także kolor tła, aby zapewnić wystarczający kontrast dla treści na wypadek, gdyby obrazy z jakiegoś powodu nie zostały wczytane przez przeglądarkę.
Przykład
Poniżej znajduje się prosty przykład użycia własności background-image
do wstawienia obrazu w tle elementu article
:
Ta reguła wstawia obraz o nazwie obraz.png w tle wszystkich elementów article
na stronie.
Wartości i składnia
Własność background-image
przyjmuje dwa typy wartości:
- Obraz graficzny zdefiniowany w dowolny sposób obsługiwany w CSS – w tle elementu można ustawić zarówno dowolny obraz rastrowy, np. PNG, JPG, czy WebP, jak również gradient albo obraz w formacie wektorowym, np. SVG.
- Słowo kluczowe
none
– brak obrazu.
Wartością własności background-image
może być lista wartości rozdzielanych przecinkami. Każda z wartości na tej liście definiuje osobną warstwę. Dotyczy to nawet słowa kluczowego none
, które nie dodaje żadnego obrazu, ale tworzy kolejną warstwę na stosie.
Pozostałe własności tła, takie jak background-repeat
, background-size
czy background-position
, określają inne właściwości obrazów wstawionych przez własność background-image
i powinny mieć tyle samo wartości, co własność background-image
. Jeśli mają ich za mało, to są one uzupełniane przez przeglądarkę przez cykliczne wykorzystanie dostępnych wartości, np.:
W tym przypadku własność background-position
obrazowi a.png przypisze wartość top
, obrazowi b.png – right
, a obrazowi c.png – bottom
. Na tym kończy się zasób wartości tej własności, więc dla kolejnych pozycji we własności background-image
wartości z własności background-position
będą pobierane od początku. W efekcie obrazowi d.png zostanie przypisana wartość top
, a obrazowi e.png – wartość right
. To samo dotyczy pozostałych własności dotyczących obrazu tła.
Jeśli wartości jest za dużo, to nadmiarowe pozycje zostają zignorowane.
Dodatkowe przykłady
Poniżej znajduje się parę dodatkowych przykładów użycia własności CSS background-image
.
Gradient w tle elementu
Za pomocą własności background-image
w tle elementu można ustawić dowolny typ gradientu obsługiwany przez CSS. W poniższym przykładzie w tle elementu section
został ustawiony gradient stożkowy:
Efekt:
Obraz SVG w tle elementu
Poniżej znajduje się przykład pokazujący, jak za pomocą własności background-image
wstawić grafikę SVG w tle elementu:
Efekt:
Kilka obrazów w tle elementu
Aby wstawić kilka obrazów w tle elementu, należy zdefiniować listę ich definicji rozdzielanych przecinkami, np.:
Efekt:
Jak widać, typy grafik można swobodnie mieszać i każdy z tych obrazów można kontrolować za pomocą pozostałych własności z grupy teł CSS.
Zastosowanie
Własność CSS background-image
ma zastosowanie do wszystkich elementów HTML.
Podsumowanie
Zastosowanie | Wszystkie elementy HTML |
---|---|
Obsługiwane wartości |
|
Wartość początkowa | none |
Dziedziczenie | Nie |
Specyfikacja | CSS Backgrounds and Borders Module Level 3, własność background-image |