20. 11. 2004 v sekci webdesign:
Řežba webu III
Při tvorbě webu Kapky Naděje 2005 jsme se zastavili přímo u menu.
V čem spočívá technika CSS Sprites?
V podstatě se jedná o to, že seznamu prvků, který uzavřeme dodivu
, nastavíme obrázek do pozadí, zakryjeme text a nad pozadím
absolutně napozicujeme blokové odkazy tak, aby příslušný odkaz pokrýval
příslušnou část obrázku. Výhodou této techniky je, že máme pouze jeden
obrázek pro celé menu i doplňující efekty. div#menicko {width:
150px;margin: 0;padding: 0;height: 217px;position: relative;} #menu {width:
150px;height: 217px;background: url(images/menu.jpg) #FFF
no-repeat;position:relative;left:0;top:0;} /*náš seznam s odkazy*/ #menu li
{margin: 0;padding: 0;list-style: none;position: absolute;left: 0;height:
27px;width: 150px} #menu li, #menu a {height:27px;display:block;} #menu li a
span {position:absolute;left:-9999px;} /*textové odkazy odsuneme*/ #home
{top:0px} /*pozicování položek seznamu*/ #aktuality {top:27px} #informace
{top:54px} #materialy {top:81px} #fotosoutez {top:108px} #archiv {top:135px}
#kontakt {top:162px} #dotoho {top:189px}
Tímto způsobem jsme vytvořili
menu bez :hover efektu (a bez zvýraznění příslušné stránky). Efekty
vytvoříme tak, že posuneme při najetí myší pozadí odkazu do oblasti,
kterou uživatel nevidí a jsou v ní položky zdůrazněny (proto obrázek
obsahuje 2 meníčka pod sebou). Pro aktivní odkaz si vytvoříme třídu
active, kterou bude mít aktivní odkaz (v našem případě bude
vypadat stejně jako po najetí myší – pokud bychom chtěli jinou barvu
aktivního odkazu, tak bychom museli umístit do obrázku ještě jedno
menu). #home a:hover, #home a.active {background: transparent
url(images/menu.jpg) 0px –218px no-repeat} #aktuality a:hover, #aktuality
a.active {background: transparent url(images/menu.jpg) 0px –245px no-repeat}
#informace a:hover, #informace a.active {background: transparent
url(images/menu.jpg) 0px –272px no-repeat} #materialy a:hover, #materialy
a.active {background: transparent url(images/menu.jpg) 0px –299px no-repeat}
#fotosoutez a:hover, #fotosoutez a.active {background: transparent
url(images/menu.jpg) 0px –326px no-repeat} #archiv a:hover, #archiv a.active
{background: transparent url(images/menu.jpg) 0px –353px no-repeat} #kontakt
a:hover, #kontakt a.active {background: transparent url(images/menu.jpg)
0px –380px no-repeat} #dotoho a:hover, #dotoho a.active {background:
transparent url(images/menu.jpg) 0px –407px no-repeat}
Přesné
rozměry a posunutí pozadí při :hover efektu jsou upravena přímo pro tento
obrázek – pokud tuto techniku použijete jinde, tak je nutné rozměry
upravit. Co nám vlastně vzniklo? – podívejme se na příklad 5.
V dalším díle ještě lehounce upravíme menu a vrhneme se na layout webu.