Tak jako je možné nastavit barvu pozadí prvku, lze také nastavit obrázek na pozadí prvku. Obrázek na pozadí se definuje vlastností background-image. Jako její hodnoty se používá url obrázku.
Tato vlastnost určuje obrázek na pozadí prvku. Obrázek se určuje pomocí url (nebo-li adresy obrázku). Pokud budete používat relativní adresu obrázku, je potřeba mít na paměti, že musí být relativní k umístění stylového předpisu. Umístíte-li obrázek na pozadí prvku, mohou nastat dvě situace:
Obrázky na pozadí by měly být malé co do velikosti dat. Pokud toho chceme dosáhnout, je tedy potřeba použít malý obrázek. Proto se častěji budeme setkávat s druhou situací popsanou výše. Aby pozadí vydlážděné obrázkem bylo bezešvů, používají se speciálně upravené obrázky tzv. textury.
Není-li možné obrázek na pozadí zobrazit, pozadí prvku bude mít barvu, která byla nadefinována pomocí background-color. Proto je nezbytné také nadefinovat barvu pozadí. Stejně jako barva na pozadí tak i obrázek na pozadí by neměl zhoršovat čitelnost textu umístěného nad ním.
body {
background-image:
url('pozadi.gif') /* obrázek na pozadí stránky */
}
V předcházejícíh ukázkách byl použit obrázek o velikosti 50x50 px. První prvek měl nastvenou velikost na 10x10 px, a druhý má nastavenou velikost na 250x250 px.
Pro některé prvky nejde nastavit obrázek na pozadí: <iframe> (v žádném prohlížeči); <select> (v IE); <option> (v IE).
Podpora v prohlížečích
NN4 podpora s chybami; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 4, pro verzi 3 lze nastavit obrázek na pozadí jen ve vlastnosti background; Opera plná podpora od verze 3; IE 5/MAC plná podpora; Konqueror plná podpora.
Způsob opakování obrázku na pozadí
Pokud nastavíme obrázek na pozadí, a nastane situace 2 (výše popsaná), můžeme pomocí vlastnosti background-repeat nastavit způsob opakování. Jako její hodnota se používají klíčová slova.
background-repeat
Hodnoty: repeat |
repeat-x |
repeat-y |
no-repeat | inherit
Výchozí hodnota: repeat
Ovlivňuje: všechny prvky
Dědičná: ne
Procenta: nelze používat
Média: vizuální
repeat obrázek se opakuje vertikálně i horizontálně
repeat-x obrázek se opakuje jen horizontálně
repeat-y obrázek se opakuje jen vertikálně
no-repeat obrázek se neopakuje
inherit hodnota se dědí po rodičovském prvku
Tato vlastnost určuje, zda a jakým způsobem se bude obrázek opakovat na pozadí prvku. Aby bylo možné tuto vlastnost použít, je nutné také nadefinovat obrázek pomocí vlastnosti background-image.
Příklad nastavení opakování obrázku na pozadí
body {
background-image:
url('texture.gif') /* obrázek na pozadí stránky */
background-repeat:
repeat /* obrázek se opakuje vertikálně i horizontálně */
background-color:
tan /* nastaví barvu na pozadí */
}
body {
background-image:
url('texture.gif') /* obrázek na pozadí stránky */
background-repeat:
repeat-x /* obrázek se opakuje jen horizontálně */
background-color:
tan /* nastaví barvu na pozadí */
}
body {
background-image:
url('texture.gif') /* obrázek na pozadí stránky */
background-repeat:
repeat-x /* obrázek se opakuje jen vertikálně */
background-color:
tan /* nastaví barvu na pozadí */
}
body {
background-image:
url('texture.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-color:
tan /* nastaví barvu na pozadí */
}
Podpora v prohlížečích
NN4 podpora s chybami; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 5, verze 4 nesprávně interpretuje při použití background-position; Opera plná podpora od verze 3,5; IE 5/MAC plná podpora; Konqueror plná podpora.
Pozice obrázku na pozadí
Nastavení přesné pozice obrázku na pozadí lze provést pomocí vlastnosti background-position. Jako její hodnota se používají procenta, velikost a klíčová slova.
background-position
Hodnoty: <procenta> | <velikost> | <pozice x> | <pozice y> | inherit
Výchozí hodnota: 0% 0%
Ovlivňuje: blokové a nahrazené prvky
Dědičná: ne
Procenta: vztahují se k vlastní velikosti prvku
Média: vizuální
<procenta> viz díl č. 2
<velikost> viz díl č. 2
<pozice x> left | center | right horizontální pozice
<pozice y> top | center | botton vertikální pozice
inherit hodnota se dědí po rodičovském prvku
Tato vlastnost určuje pozici obrázku na pozadí vzhledem k prvku. Hodnotu této vlastnosti tvoří dvojice hodnot oddělených mezerou (první je vždy uvedena horizontální pozice). U procentních a číselných hodnot jsou povoleny záporné hodnoty, a je možné libovolně kombinovat procentní a číselné hodnoty.
body {
background-image:
url('back.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-position:
50% 50% /* obrázek bude ve středu */
background-color:
lightskyblue /* nastaví barvu na pozadí */
}
body {
background-image:
url('back.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-position:
center top /* obrázek bude ve středu horní hrany */
background-color:
lightskyblue /* nastaví barvu na pozadí */
}
body {
background-image:
url('back.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-position:
200px 200px /* obrázek bude v pravém dolním rohu */
background-color:
lightskyblue /* nastaví barvu na pozadí */
}
body {
background-image:
url('back.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-position:
50px 50% /* obrázek bude 50px od levého okraje a na výšku uprostřed */
background-color:
lightskyblue /* nastaví barvu na pozadí */
}
body {
background-image:
url('back.gif') /* obrázek na pozadí stránky */
background-repeat:
no-repeat /* obrázek se neopakuje */
background-position:
-30px -30px /* obrázek bude vertikálně i horizontálně -30px od kraje */
background-color:
lightskyblue /* nastaví barvu na pozadí */
}
Podpora v prohlížečích
NN4 nepodporuje (obrázek zůstává v levém horním rohu); Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 4; Opera plná podpora od verze 3; IE 5/MAC plná podpora; Konqueror plná podpora.
Posouvání obrázku na pozadí
U obrázku na pozadí lze nastavit pomocí vlastnosti background-attachment, zda se bude při scrolování také pohybovat či ne. Jako její hodnota se používají klíčová slova.
background-attachment
Hodnoty: scroll |
fixed | inherit
Výchozí hodnota: scroll
Ovlivňuje: všechny prvky
Dědičná: ne
Procenta: nelze používat
Média: vizuální
scroll obrázek se scroluje s dokumentem
fixed obrázek se nescroluje s dokumentem
inherit hodnota se dědí po rodičovském prvku
Tato vlastnost je různě podporována prohlížeči, a to i z toho důvodu, že specifikace připouští interpretaci hodnoty fixed jako scroll. Na pomalejších strojích (hlavně v závislosti na grafické kartě) způsobuje hodnota fixed pomalejší scrolování z důvodu nutnosti přepočítávání. Většinou se tato vlastnost nastavuje jen pro tag <body>.
Příklad posouvání obrázku na pozadí
body {
background-image:
url('pozadi.gif') /* obrázek na pozadí stránky */
background-attachment:
scroll /* obrázek se posouvá spolu s dokumentem */
}
ukázka zde
body {
background-image:
url('pozadi.gif') /* obrázek na pozadí stránky */
background-attachment:
fixed /* obrázek se neposouvá spolu s dokumentem */
}
ukázka zde
Podpora v prohlížečích
NN4 nepodporuje; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 4; Opera plná podpora od verze 3; IE 5/MAC plná podpora; Konqueror plná podpora.
Sdružená vlastnost
Sdružená vlastnost background umožňuje nastavit všechny předcházející vlastnosti současně.
background
Hodnoty: <background-color> | <background-image> | <background-repeat> | <background-position> | <background-attachment> | inherit
Výchozí hodnota: viz dílčí vlastnosti
Ovlivňuje: všechny prvky
Dědičná: ne
Procenta: jen pro 'background-position'
Média: vizuální
<background-color> viz výše
<background-image> viz výše
<background-repeat> viz výše
<background-position> viz výše
<background-attachment> viz výše
inherit hodnota se dědí po rodičovském prvku
Jde o úsporný zápis všech vlastností pro pozadí v kaskádových stylech. Všechny vlastnosti sdružené do vlastnosti background jsou nejdříve nastavené na výchozí hodnoty, a poté jsou všechny vlastnosti nastavené na hodnoty, které byly nadefinovány ve vlastnosti background. Při zadávání jednotlivých hodnot není potřeba dodržet jejich výše uvedené pořadí.
Ekvivalentní zápis
body { /* nastavení pomocí sdružené vlastnosti */
background: red url("pozadi.jpg") fixed
}
body {/* nastavení pomocí jednotlivých vlastností */
background-color: red
background-image: url("pozadi.jpg")
background-attachment: fixed
}
Podpora v prohlížečích
NN4 podporuje, ale je potřeba dodržet přesné pořadí zadávaných vlastností; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 4, verze 3 podporuje jen background-color a background-image; Opera plná podpora od verze 3; IE 5/MAC plná podpora; Konqueror plná podpora
.
Závěr
Dnes jsme se seznámili s vlastnostmi pro nastavení pozadí a barvy prvků v kaskádových stylech. Doufám, že vás čtení takto dlouhého dílu neunavilo.