Autor Zpráva
Knajfl
Profil *
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
Máš někde ukázku toho, jak ten hoover efekt děláš? Vážeš ho na select, nebo na option?
Knajfl
Profil *
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
a zkusil jsi tohle?

<style>
option:hover {background-color: navy; color: white;}
</style>
Yuhů
Profil
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
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 *
...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
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 *
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0