Hledáte řešení pro Váš e-shop? Shopio je moderní internetový obchod (e-shop) vytvořený s ohledem na snadné používání.

Chyba a:hover v IE – jednoduché řešení

Při tvorbě horizontálního menu se často používá seznam odkazů, kdy se jednotlivé položky seznamu nechají „plavat“. Ovšem pozor na to!

Mějme jednoduché menu jako seznam:

<ul>
    <li><a href="#">odkaz</a></li>
    <li><a href="#">odkaz</a></li>
    <li><a href="#">odkaz</a></li>
    <li><a href="#">odkaz</a></li>
</ul>

Menu naformátujeme tímto stylopisem:

li{ float: left; display: inline; }
a{ display: block; padding: 20px; margin: 0 5px; background: #ccc; }
a:hover{ background: #999; }

Nebo se podívejte na připravený příklad.

A máme jednoduché horizontální menu. Zkuste si ho otestovat v IE 6, 5.5 nebo 5. Jak vidíte, hover efekt se aktivuje až po najetí na text odkazu, nikoli po najetí kamkoli na oblast odkazu. Jinými slovy: IE sice padding odkazu vykreslí, ale z nějakých důvodů ho nechápe jako jeho součást.

Jak na to?

Jednoduše. Upravíme stylopis (místo položky seznamu necháme „plavat“ samotný odkaz):

li{ display: inline; }
a{ float: left; display: block; padding: 20px; margin: 0 5px; background: #ccc; }
a:hover{ background: #999; }

Připravený příklad

A vidíme, že už je vše v pořádku.

Je možné, že jsem objevil Ameriku, ale snad řešení nikoho neurazí a poslouží zadost.


16 komentářů

RSS komentářů ke článku

Přidat komentář

Povinný je pouze text komentáře. Vyplňujte ale prosím, pokud možno, všechny údaje. E-mail nebude zobrazen.

Byl bych potěšen, kdybyste psali s diakritikou.

Můžete použít Texy! formátování.

« Pevné versus variabilní rozměry elementů Typografie – členění textu »