Autor | Zpráva | ||
---|---|---|---|
Knajfl Profil * |
#1 · Zasláno: 17. 12. 2011, 15:18:38
Když si udělám klasický HTML
<select size="1"><option>1</option><option>2</option><option>3</option></select> dělá to vždy pěkný hover efekt. Proč tento efekt prohlížeče nedělají když nastavím size větší jak 1?
Jde to v tomto případě nějak jednoduše simulovat? Treba i pomocí JS aby to vypadalo uplně stejně? |
||
Yuhů Profil |
#2 · Zasláno: 19. 12. 2011, 12:56:15
Máš někde ukázku toho, jak ten hoover efekt děláš? Vážeš ho na select, nebo na option?
|
||
Knajfl Profil * |
#3 · Zasláno: 19. 12. 2011, 14:46:58
Myslím tím ten hover který si dělají prohlížeče sami (tmavě modře podbarvená položka nad kterou najedeš...) a ta se aktivuje jen u Selectů se size="1". (Proč ?)
Já myslím u "čistých" nenastylovaných <select>-ů viz níže: <select size="1"> <option>obsah 1</option> <option>obsah 2</option> <option>obsah 3</option> <option>obsah 4</option> </select> <br><br> <select size="4"> <option>obsah 1</option> <option>obsah 2</option> <option>obsah 3</option> <option>obsah 4</option> </select> |
||
Yuhů Profil |
#4 · Zasláno: 19. 12. 2011, 21:16:43
a zkusil jsi tohle?
<style> option:hover {background-color: navy; color: white;} </style> |
||
Yuhů Profil |
#5 · Zasláno: 19. 12. 2011, 21:29:48
hm, tak se zdá, že na option pseudotřída :hover skutečně nefunguje. Takže základní javascript vypadá nějak takhle:
<select size="4"> <option onmouseover="this.style.color='white';this.style.backgroundColor='blue'" onmouseout="this.style.color='black';this.style.backgroundColor='white'">obsah 1</option> <option>obsah 2</option> <option>obsah 3</option> <option>obsah 4</option> </select> Při přejetí je dobré použít jinou barvu než navy, protože navy barva určuje vybranou položku. |
||
Bubák Profil |
#6 · Zasláno: 19. 12. 2011, 21:39:51
Hover optionu v IE (zkoušel jsem IE 8 ve standardu) a Chrome to nefunguje, v prohlížečích Opera a Firefox hover optionu funguje.
"Základní script" nefunhuje v IE. V ostatních prohlížečích bez problémů. |
||
Knajfl Profil * |
#7 · Zasláno: 20. 12. 2011, 09:48:10
...proto se divím že to tvůrci operačních systémů (nebo prohlížečů) neudělaly lépe. Ideální řešení pro IE asi není :(
Díky za snahu |
||
jenikkozak Profil |
#8 · Zasláno: 20. 12. 2011, 10:50:19
Knajfl:
Ono to nějakou logiku má (resp. se to dá nějak obhájit): Použiješ-li size=1 , objeví se nad stránkou nabídka ve vrstvě, která překrývá obsah menu. Onen „hover efekt“ pomáhá ukázat, kde vlastně ta nabídka je (ona totiž se nemusí zobrazovat vždy nad <select>em, pokud se tento nachází blízko u spodního okraje obrazovky, vysouvá se nabídka nahoru) a pomáhá určit, která vrstva je vlastně aktivní. Použiješ-li size větší než 1, nabídka se nerozbaluje, efekt zabarvování řádků je zbytečný.
|
||
Knajfl Profil * |
#9 · Zasláno: 20. 12. 2011, 13:14:40 · Upravil/a: Knajfl
jenikkozak:
„efekt zabarvování řádků je zbytečný.“ Když máš menší písmo a více řádků zpříjemní ten hover uživatelský komfort... mohl tam klidně být! Nesouhlasím. /Poznámka: IE měl vždycky problémy ze Select/option v IE 6 mi to ani nezobrazuje obyčejný title="" v option což bylo taky pro zlost... Pokud jsem dobře googlil: http://webbugtrack.blogspot.com/search?q=onmouseover Tak ani nový IE 9 nepodporuje onmouseover apod. u <option></option> je to tak? :-((( Já IE9 nemám tak to nemůžu otestovat.... |
||
jenikkozak Profil |
#10 · Zasláno: 20. 12. 2011, 13:37:25 · Upravil/a: jenikkozak
Knajfl:
„Když máš menší písmo a více řádků zpříjemní ten hover uživatelský komfort...“ To je věc názoru. Někdo bude za uživatelský konfort považovat to, že se mu budou pod myší zabarvovat odstavce, jiný to bude považovat za „příšerně rušivou volovinu“. Je mi to jedno, jen jsem zauvažoval nad tím, proč to ty „tvůrci operačních systémů (nebo prohlížečů) neudělaly lépe“. Osobně si nemyslím, že je chyba, že systém nedává některá nastavení do rukou kodérům, kteří někdy až příliš oplývají fantazií. (Posuvník místo na kraji by v prostředku stránky byl na zabití, posuvník obrácený o 180 ° by volal po dvojnásobné vraždě. Ale to už je dost mimo.) Edit: „Já IE9 nemám tak to nemůžu otestovat....“ Nejede to v něm. |
||
Časová prodleva: 12 let
|
0