Autor Zpráva
romca
Profil *
Ahoj, dělám menu pomocí sliding doors a mám problém s tim, že když si uživatel vybere nějakou položku (např: nabízíme), tak by tato položka měla mít nějaký určitý jiný podklad než ostatní (aby bylo jednoznačné, kde zrovna je). Ale nějak mi to nefunguje a nevím v čem dělám chybu. Už jsem prošla i plno návodů na sliding doors.

Jde to nějak jednoduše přes css? Když totiž dám položce nabízíme nějaké ID (např:current) a pak to udělám takto:
#menu #current {
background-image:url("images/3b.gif");
}
#menu #current a {
background-image:url("images/4.gif");
}
tak má položka nabízíme tento podklad furt a ne jen když je zrovna aktivní.

No je to trochu zamotaný, tak snad porozumíte problému.

Díky, Romča
panther
Profil
romca:
No je to trochu zamotaný
ano, máš pravdu. Dej sem odkaz na stránku.
romca
Profil *
panther:
http://www.bowlingsojcak.cz/ .... kdyz prejizdis pres menu tak se meni pozadi....a to chci, aby pak zustalo i kdyz tu polozku vyberes
panther
Profil
romca:
Když totiž dám položce nabízíme nějaké ID (např:current) a pak to udělám takto: [...] tak má položka nabízíme tento podklad furt a ne jen když je zrovna aktivní.
tomuhle nevěřím. Nikde v kódu (HTML ani CSS) current nevidím, těžko hledat problém. Takhle se aktivní položka skutečně dělá, musíš mít chybu někde v přiřazování toho identifikátoru.
romca
Profil *
a pak s tím je ještě problím, že IE nerozumí v css příkazu: "#menu li:hover". Takže se při přejiždění přes položky, vykresluje jen část nového podkladu.
panther
Profil
romca:
a pak s tím je ještě problím, že IE nerozumí v css příkazu: "#menu li:hover".
ano, konkrétně starší IE. Pohledej a stáhni si hover.htc.
romca
Profil *
panther:
to bude tím, že tam ten current není....nechtěla jsem to dávat na veřejnej web, když mi to nefungovalo ;-)
Ale jinak by to bylo:
<li id="current"><a href="../nabizime/nabizime.php">Nabízíme</a></li> .... v html u menu

#menu #current a{
background-image:url("images/3b.gif");
} ... v css
panther
Profil
romca:
Ale jinak by to bylo:
...tak to muselo fungovat. Ne uvedeném propojení HTML a CSS není nic, proč by to nefungovalo.

nechtěla jsem to dávat na veřejnej web, když mi to nefungovalo ;-)
tak na nějakou stránku, kam nevede odkaz nebo na subdoménu. Tebou uvedené dva řádky kódu jsou v pořádku.
romca
Profil *
a ani, kdyz dam <li><a href="../nabizime/nabizime.php" id="current">Nabízíme</a></li> .... je jasny, ze delam nekde chybu ja....v prirazovani....ale prave nevim kde
romca
Profil *
panther:
ano, konkrétně starší IE. Pohledej a stáhni si hover.htc.
ok, diky
panther
Profil
romca:
na pořadí atributů nezáleží. Tohle HTML funguje (musí). Nahraj to někam, abych to viděl na kompletní stránce. Zkontroluj si, jestli se #current mění podle aktuální stránky, jestli je ve výsledném HTML, pokud to generuješ PHPkem (což předpokládám).
romca
Profil *
panther:
http://www.bowlingsojcak.cz/pokus/ ..... tak tady
panther
Profil
romca:
a zrovna na odkazu mi to funguje. Tobě ne?

Po kliknutí na další odkaz aktivní položka pochopitelně zmizí, protože odkazy vedou na ostrou verzi webu, kde aktivní položku neodlišuješ.


Jinak se omlouvám za chybu v [#11] v reakci na [#9]. Na pořadí atributů nezáleží (<a href="" id=""> = <a id="" href="">). Ty samozřejmě musíš mít ID u LI, protože ve stylech pak máš #current a (jinak by to bylo a#current).
romca
Profil *
panther:
takže mám mít pro každou položku v menu spešl php skript, který si bude každá volat a v něm bude aktivní (tedy bude mít u sebe id current)? V tomhle asi mám trochu zmatek.
panther
Profil
romca:
pokud bys měla 10 statických stránek (úplně bez PHP), na každé by si měla to samé menu, jen by se lišila pozice id="current". Na každé stránce by bylo jinde.

Tohle můžeš zautomatizovat scriptem, který přiřadí aktuální položce ID. Jak vidíš, pokud ID máš přiřazené, položka se obarví, CSS máš tedy dobře. Teď si jen zajisti, aby bylo to id="current" na správném místě :-)
romca
Profil *
panther:
ok, díky za pomoc a ujasnění problému :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0