Problém s a:hover u navštíveného odkazu

Nacházíte se zde: Novinky » Články » Problém s a:hover u navštíveného odkazu

Otázka:

Pro odkazy mám nastaven atribut a:hover, s požadovanou změnou barvy (viz příklad). Odkaz by se měl zbarvit dle zadané hodnoty, v případě, že již byl ale odkaz navštíven, tak se barva nemění.

a {text-decoration: underline}
a:link {color: #f00}
a:hover {color: #00f}
a:visited, a:active {color: #900}

Odpověď:

Celý problém tkví v konfliktu definic. V kaskádových stylech platí tzv. „pravidlo posledního“. Definice která je v kódu níž „přebíjí“ stejnou (nebo příbuznou, jako v tomto případě) definici uvedenou někde před ní. Pro dosažení požadovaného efektu stačí prohodit pořadí ve zdrojovém kódu tak, aby byl a:hover až po a:visited.

Řešit to lze i přidáním příkazu !important do tagu a:hover. Ten zapříčiní, že daná hodnota nelze „přepsat“. Na pořadí v kódu pak již nezáleží.

Doporučoval bych využít prvně zmiňovaného postupu…

Relevantní odkazy:

Vloženo: 1.1.2004


Copyright © 2004 Vít Dlouhý, Všechna práva vyhrazena ®
XHTML 1.1, CSS 2.1, Dogma W4