Autor Zpráva
joe
Profil
Ahoj,

máte nějaké tipy na to, jak udělat oddělovač v horizontálním menu, kde jsou položky vedle sebe? Přijde mi pak jeden oddělovač vedle aktivní položky navíc, tak jak na to teda? :)

Dík
imploder
Profil
1. nějaký nastylovaný tag vložený jako oddělovač na příslušná místa
2. border jako oddělovač (součástí každé položky, tak jak to asi máš teď), krajní položce dát zvláštní třídu, kde oddělovač není
Jimmy Hayek
Profil
joe
Já to dělám tak, že nastavím levý border všem položkám a první z nich ten border zruším... přesněji tedy např.:

HTML
<menu>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
<menu>


CSS
menu li {boder-left: 1px solid black;}
menu li:first-child {boder-left: none;}


Nefunguje (:first-child) v IE 6... Pokud se ale jedná o statický web, využil bych imploderův návrh, kde nastavíš krajní položce zvláštní třídu.

Zkus si prostudovat tohle: http://www.pathf.com/blogs/2008/04/hacking-the-fir/
imploder
Profil
Jimmy Hayek
Pokud se ale jedná o statický web, využil bych imploderův návrh, kde nastavíš krajní položce zvláštní třídu.
To není problém ani u dynamického. Skript může třídu jednoduše doplnit - třeba v cyklu for, kde i je index položky, ve vypisování tagu:
if($i==0) echo " class=\"prvni\"";
Chamurappi
Profil
Reaguji na joa:
Položkám dám levý border, posunu je záporným marginem o šířku borderu doleva (což můžu vykompenzovat pravým marginem, je-li potřeba) a jejich rodičovi dám „overflow-x: hidden“.
joe
Profil
Chamurappi
Díky, to mě nenapadlo, tak je to dobrý :-) Jenom by to ale asi nefungovalo u položek s pozadím, protože tam by se to překrývalo - když je oddělovač jako obrázek a ne jako border.

Jimmy Hayek
Border se mi nelíbí a i při dynamickém nastavuju první položce třídu, pro jistotu ;-)

imploder
Tak tak, ale kdž označíš aktivní položku, tak buď vlevo nebo vpravo od ní budeš mít ten border...
imploder
Profil
skriptem generované menu se zvýrazněním aktivní položky: http://bprhad.wz.cz/oddelovace/menu.php
joe
Profil
imploder
Však já vim jak to řešit programově, jenom se mi nelíbil ten oddělovač vedle aktivní položky a už jsem pomalu přemýšlel, že bych přidal třídu i za aktivní položkou pro skrytí.

Vždycky jsem pozicoval tu aktivní položku, ale pak bylo vidět jak to poskakuje... Chamurappiho řešení je v mém případě nejlepší, i když ne na všechny případy je vhodné.
imploder
Profil
joe
Nechápu z toho popisu, co myslíš. Že u aktivní položky nemá být oddělovač, protože se ti tam nelíbí? Ve třídě aktivní položky se dá oddělovač odstranit (ale jen na jedné straně - je to ten problém?) i zvýšit ji aby "vyskočila".
joe
Profil
imploder
Že u aktivní položky nemá být oddělovač, protože se ti tam nelíbí?
Ano, přesně tento problém ;-)

i zvýšit ji aby "vyskočila"
Tak tohle zas nechápu já.
imploder
Profil
joe
„Že u aktivní položky nemá být oddělovač, protože se ti tam nelíbí?“
Ano, přesně tento problém ;-)

Co brání napsat skript tak, aby položce vedle aktivní border odstranil?

„i zvýšit ji aby "vyskočila"“
Tak tohle zas nechápu já.

Myslel jsem aby se zvýšila oproti ostatním - jak to bývá v nabídkách typu záložky - vybraná je o kousek vysunutá a ostatní jsou jakoby v pozadí - myslel jsem, že tohle chceš.
joe
Profil
imploder
Co brání napsat skript tak, aby položce vedle aktivní border odstranil?
Nic, ale je to celkem dost zbytečné ;-)

Aha, myslel jsem si to, ale nic nevysouvám, jen měním pozadí. U aktivních položek, které maj tmavou barvu by to nevadilo, ale mam poměrně zářivé barvy a tak tam ten oddělovač vedle vadil ;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0