Autor Zpráva
Knour585
Profil *
Napadá někoho jak vyřešit toto?

Nějak si nevím rady...
pcmanik
Profil
Knour585:
Co mame vyriesit? Akosi nerozumiem tvojmu problemu... Ale to bude asi tym ze si ziadny nenapisal.
joe
Profil
Já bych ten složitý hover efekt udělal stejně, jako ten jednoduchý :-) Přes CSS.
Knour585
Profil *
pcmanik:
Je tam vložený obrázek zde
joe: zkus trošku upřesnit pls :) nejsem v tomto lama ale myslím že přehlížím nějáké jednoduché řešení a hledám v tom něco složitého...
panther
Profil
Knour585:
koukni se, jak je dělané klasické hover menu - kombinací vertikálního a horizontálního se dostaneš ke kýženému výsledku.

Nic těžkého to není, jen se toho nebát.
joe
Profil
Knour585:
Reagoval jsem jen tak, protože žádný obrázek se mi v diskusi neobjevuje...

To co požaduješ, tak to přes CSS nepůjde udělat. Na čtvrtém obrázku by to mohlo vypadat tak, že tam, kde je kurzor bude světle modrý, ale ty předchozí dva budou stejnou barvou - to samou, jako je při hoveru.

Takže jedině přes JavaScript.


panther:
Jsou dva stavy - normální a hover, nevím kde chceš definovat ten třetí (?)
Knour585
Profil *
Souhlasím takže bych to měl tvořit jako stromové menu jestli to chápu dobře?
Knour585
Profil *
joe:
Přesně tak, v tom je ten problém :)
joe
Profil
Ano, tzn. budeš mít ty jednotlivé čtverce v sobě zanořené.

<a href="#" class="a">
  <a href="#" class="b">
    <a href="#" class="c"></a>
  </a>
</a>


Odkazy proto, aby to fungovalo i v IE, kde nefunguje :hover jinde, než na odkazech.

Ale budeš mít jen dvě barvy.
panther
Profil
joe:
[#6] - nechápu, co tím myslíš. Nepotřebuju mít tři stavy.

[#9] - tohle je totální nesmysl.

Nevím, k čemu to má sloužit, proto nevím, jaký vybrat element. Ukážu to na příkladě s menu, který jsem neznačil.
<style>

a {display: block; width: 50px; height: 50px;}
li {background: #000; position: relative; width: 50px; height: 50px; margin: 0; padding: 0; list-style: none;}
li li {display: none; background: blue; position: absolute}
a:hover {background: #333}
li:hover {background: #666;}
li:hover li {display: block; background: #369; top: 50px; left: 0;}
li li a:hover {background: #58b}
li li:hover {background: #7ad}
li:hover li li {display: none;}
li li:hover li {display: block; left: 50px; top: 0;}

</style>

<ul>
  <li><a href="">prvni</a>
    <ul>
      <li><a href="">druha</a>
        <ul>
          <li><a href="">treti</a>
        </ul>
    </ul>
</ul>

Jak zde padlo, IE neumí hoverovat jinde než na odkazu - dohledej si, jak se to řeší právě u zmiňovaných menu.
Knour585
Profil *
joe: Díky trochu jsi mě nasměroval :)

Ale stejně jsem schořel u CSS nějak mi to nemyslí :
#submenu-wrapper  a {
display: block;
width : 30px;
height : 30px;
}
a.linka {
background-color : blue;
}
a.linkb {
background-color : red;
visibility : hidden;
}
a.linkc {
background-color : green;
}
#submenu-wrapper a:hover > a 	{ visibility: visible; } 
Knour585
Profil *
panther: WOW ! Užásné! Fascinující! Jdu to nastudovat ale myslím že to je přesně ono :) Díky ti!
joe
Profil
panther:
Z obrázku je celkem patrné, že hned první element má mít tři barvy (výchozí, hover na něm a pokud je kurzor na jeho dítěti).

[#9] - tohle je totální nesmysl.
:-) Nesmysl to určitě není, jen je to funkční řešení pro IE, kde nefunguje :hover jinde, než na odkazech. Není žádný důvod k používání takových nesmyslů, jako je soubor s názvem "hover.htc" či podobným. Tvé řešení sice funguje, pravda, ale ne ve všech IE.
(S tím, že ten třetí stav nastavuješ na li:hover, to je ten, o kterém jsem psal. Tzn. potřebuješ stavy tři.)
panther
Profil
joe:
Nesmysl to určitě není
je. Odkaz v odkazu je ze své podstaty (sémantický) nesmyslný. Mysli si co chceš, debaty o tomhle mě nebaví - obzvláště, když jednou říkáš něco a podruhé něco jiného.

Navíc, pokud jsem se trefil a má to být skutečně menu, jediné správné řešení je seznam.
joe
Profil
panther:
Odkaz v odkazu je ze své podstaty (sémantický) nesmyslný.
Možná není sémantický, možná není validní, ale je funkční.

když jednou říkáš něco a podruhé něco
To jsou dvě odlišná témata, nevím proč je spojuješ dohromady.

jediné správné řešení je seznam.
Menu je menu, proč tedy seznam, pokud už se snažíš být jó moderní.
panther
Profil
joe:
To jsou dvě odlišná témata, nevím proč je spojuješ dohromady.
v jednom na IE dlabeš, v druhém si hraješ na jeho ochránce. Asi jak se ti to kde hodí. A kde jaký zrovna najdeš argument.

Menu je menu, proč tedy seznam
<menu> je taky seznam. A na <menu> nic moderního není, je tu dlouho jak Webylon.


Jestli chceš v téhle debatě pokračovat, založ si vlastní vlákno. V tomto vlákně tahle debata končí a zbytek bude mazán.
Chamurappi
Profil
Reaguji na joa:
Nesmysl to určitě není, jen je to funkční řešení pro IE
Fakt funkční? Tobě jde dát odkaz do odkazu? Bez tabulky těžko.

Možná není sémantický, možná není validní, ale je funkční.
Ukaž.
Knour585
Profil *
Já nevim jestli sem fakt blbej nebo co...ale zkrátka se mi to nedaří naskinovat...

Když najedu na 3. odkaz zároveň se změní barva odkazu podřazeného...to by nemělo...

Nějak se dědí vlastnosti i do dětí...

Konkretně zde :
li li a:hover {background: #58b}


Popravdě je to pěkná blbost celý tento příklad, je to jako zkušební zadání do jedné firmy a dají takovou nereálnou věc...
panther
Profil
Knour585:
dají takovou nereálnou věc...
není to nereálné, mohlo by to být obyčejné tříúrovňové menu.

je to jako zkušební zadání
na pozici kodéra? To bych se tam být tebou ani nehlásil, když nedokážeš dát dohromady nebo alespoň pochopit tohle. Kdybys tohle řekl dřív, ani jsem to nepsal - přijde mi to nefér vůči té společnosti.

Však ono na tebe dojde - neznalosti nezamaskuješ.
Knour585
Profil *
Vyřešeno.

Dal sem poslednímu odkazu třídu a pak to nastyloval v CSS.

panther: Ano ale je to jaksi divné menu. Normální menu bych zvládl bez problémů.

Jinak na pozici kodéra a grafika. Souhlasím že to je celkem neetické ale také vím na jaké úrovni umím kódovat.
Umím kódovat validně, sémanticky a podobně ale zkrátka u tohoto příkladu jsem si nevěděl rady...jsem zvyklý dostat celý layout nebo wireframe a z toho dále pokračovat..

Neříkám že jsem profík ale třeba tady se projevily mé nedostatky...hlavně mě překvapily ty různé pozice efektů...

Nechme to tak. Každopádně každému z Vás díky.
panther
Profil
Knour585:
Dal sem poslednímu odkazu třídu
třídy jsou zbytečné, vše lze zaměřit kontextem. Já je taky nepotřeboval - ani, kdybych chtěl ještě šachovat s tou poslední úrovní.
Knour585
Profil *
panther: Máš pravdu. Vyřešil sem to takto :
li li li:hover a {background-image: url("1-d.png");}
joe
Profil
Chamurappi:
Hmm zajímavé, asi to nefunguje. Měl jsem za to, že by s tím problém být neměl, už proto, jak jsem četl v nějakém článku (pokud se nepletu, tak to bylo v době, kdy jsem psal, že validátor obsahuje chyby pokud uznává blokové elementy v odkazu. V článku se psalo, že problém je, pokud je tam obsažen další odkaz uvnitř odkazu, že v některých případech nefunguje - není klikatelný). Očekával jsem, že to bude tedy fungovat. Moje chyba a poučení pro příště.

panther:
v jednom na IE dlabeš, v druhém si hraješ na jeho ochránce
A ty se zase bráníš sémantikou, i když ji plně nevyužíváš.

Z obrázku nebylo na první pohled jasné, že se jedná o menu nebo nějaký seznam.

V tomto vlákně tahle debata končí a zbytek bude mazán.
Zajímavé, od té doby co jsi to psal, jsi přispěl dalšíma dvěma příspěvkama :-) Asi jsi to nemyslel moc vážně.

na pozici kodéra? To bych se tam být tebou ani nehlásil, když nedokážeš dát dohromady nebo alespoň pochopit tohle. Kdybys tohle řekl dřív, ani jsem to nepsal - přijde mi to nefér vůči té společnosti.
Na takové pozice občas dávají zbytečně těžké úkoly, tento je asi tak na hraně, přiznej si, kolikrát toto na stránkách použiješ.


Nicméně to je vyřešeno, omlouvám se za chyby, co jsem napsal a způsobil.
panther
Profil
joe:
A ty se zase bráníš sémantikou, i když ji plně nevyužíváš.
použít na menu <ul> není až tak špatně, jak se může zdát. <menu> žádné výhody oproti <ul> nemá.

Na takové pozice občas dávají zbytečně těžké úkoly
samozřejmě. Oddělení zrna od plev. Taky bych raději přijmul zdatného profesionála, než začátečníka, který umí krásný dvousloupcový layout a nic víc. Protože si myslí, že to nikdy nebude potřebovat. Právě pořádné zadání rozhoduje, kdo co umí.

přiznej si, kolikrát toto na stránkách použiješ.
mockrát ne, ale jako kodér to napíšu během chvíle - není to nic těžkého, nad čím by měl kodér dumat nebo žádat pomoc na diskusním fóru.
joe
Profil
panther:
použít na menu <ul> není až tak špatně
Neříkám, že je to špatně, ale je to více sémantické (když jsi tu sémantiku tak vyzdvihl).

samozřejmě. Oddělení zrna od plev. Taky bych raději přijmul zdatného profesionála, než začátečníka
Profesionál zase bude očekávat vyšší plat, i přeš to, že dokáže věci, které nikdy dělat nebude (polož si otázku, jestli to není zbytečné?)

mockrát ne, ale jako kodér to napíšu během chvíle - není to nic těžkého
Těžké to není, ale myslím, že je velmi málo kodérů, co dokážou všechno. Je lepší se zeptat, než nad tím zbytečně dumat. A pokud to bereš takhle, pak bys mohl říct, že ten kdo si sám nenaprogramuje dokonalý framework, ten není programátor...

Jinak myslím, že dalším pokračováním bysme se ještě více odchýlili od tématu. Vše potřebné jsi tu už napsal (tím myslím CSS) a nemá cenu pokračovat v diskusi.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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