Autor Zpráva
jefitto44
Profil
Zdravím, chcem sa len opýtať, nepracujem teraz na tom, len ma tak napadla otázka ohľadom dropdown menu.

To sa robí tak, že si nastavím vnorený zoznam pod nejakú položku menu a do nej vpíšem tie odkazy submenu, následne to v CSS naštelujem pre display:none;
a potom nastavím, pri hoveri display: block; ?
Joker
Profil
jefitto44:
To funguje, ale jen těm, kdo mají myš. Ostatní způsoby (klávesnice, dotyková obrazovka) neudělají hover, takže se jim nezobrazí menu.
xROAL
Profil
Joker:
Ostatní způsoby (klávesnice, dotyková obrazovka) neudělají hover, takže se jim nezobrazí menu.
Z vlastnej skúsenosti viem, že Android (Chrome pre Android) hover urobí, je to veľmi nepraktické a neohrabané, ale ak ťuknem na nejaké miesto na webe (čo ak je priamo odkaz tak ma to hneď presmeruje samozrejme), Android tam zrejme simuluje polohu ukazateľa myšky (alebo niečo iné, nevyznám sa v tom, no jednoducho to spustí hover efekt). (Špeciálne kvôli tomuto som robil aj jednoduchý script na sledovanie polohy myšky a skúšal som to na Androide, polohu "myšky" mi ukázalo tam, kde som ťukol na obrazovku.)

Možno sa tak správajú aj iné browsery/OS?

Čo sa týka ovládania cez klávesnicu, tam by mohol pomôcť :focus ak sa nepletiem.
jefitto44
Profil
:focus!=:hover ?
Joker
Profil
jefitto44:
:focus!=:hover ?
Nenapadá mě situace, kdy by nastalo obojí současně, možná s výjimkou nějakých dotykových zařízení, která emulují hover.
jefitto44
Profil
Nie je to teda to isté?

Aha sorry, :focus==:active
zmýlil som sa
Joker
Profil
jefitto44:
Nie je to teda to isté?
Tak myslel jsem, že z věty „Nenapadá mě situace, kdy by nastalo obojí současně“ je zřejmé, že to je něco úplně jiného.

Aha sorry, :focus==:active
Ani tak ne. Viz.

Např. u odkazu na desktopu by :active mělo nastat při kliknutí v době mezi stisknutím a puštěním tlačítka myši, :focus by mělo nastat při zaměření odkazu klávesnicí. V Opeře asi :focus na odkazu ani nejde vyvolat (odkaz jde zaměřit i aktivovat klávesnicí, ale nevyvolá to :focus).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0