a:active - highlighting funktioniert nicht wie es soll
Maxxon
- css
Hallo,
ich habe auf meiner Webseite einem Listenelement einen Link zugewiesen.
<ul>
<li><a href="link.html">Das ist ein Link</a></li>
</ul>
Diesen Link formatiere ich über CSS so, dass er nach dem anklicken, wenn das Linkziel geladen wird, fett sein soll.
ul li a:active {font-weight:bold}
Problem:
Wenn ich den Link jetzt anklicke, bleibt er auch für eine oder zwei Sekunden fett. Wenn dann der Content der Seite geladen wird, refresht sich die Seite kurz neu, der Content wird dann wie gewünscht angezeigt...aber die Fettformatierung ist wieder weg!
Ich kann mir vorstellen, dass es mit dem nachladen und dem damit verbundenen Refresh der Seite liegt.
Aber wie bekomme ich das weg? Bei ähnlichen Seiten funktioniert es doch auch!
Moin!
<ul>
<li><a href="link.html">Das ist ein Link</a></li>
</ul>Diesen Link formatiere ich über CSS so, dass er nach dem anklicken, wenn das Linkziel geladen wird, fett sein soll.
Leider nein.
ul li a:active {font-weight:bold}
Das formatiert den Link, während die Maustaste gedrückt gehalten wird.
Der IE macht außerdem den Fehler, auf der Seite auch danach diesen Zustand beizubehalten, solange bis die angezeigte Seite durch die neugeladene Seite ersetzt wird.
Aber wie bekomme ich das weg? Bei ähnlichen Seiten funktioniert es doch auch!
Ähnliche Seiten werden dem als "aktiv" bezeichneten Link eine passende Klasse zugewiesen haben, oder den Link durch ein anderes, nicht klickbares Element ersetzen, und dann jeweils mit CSS wie gewünscht formatieren.
- Sven Rautenberg
Hallo!
Du hast vollkommen recht. Hätte mir auch selbst einfallen können :-D
Das kommt davon, wenn man lange Zeit nichts mehr mit den Einstellungen zu tun hatte.
Hi,
ul li a:active {font-weight:bold}
[...]
Der IE macht außerdem den Fehler, auf der Seite auch danach diesen Zustand beizubehalten, solange bis die angezeigte Seite durch die neugeladene Seite ersetzt wird.
Nein.
Er benutzt :active so, wie :focus definiert ist: die Formatierung von :active gilt im IE solange, wie das Element den Eingabefocus hat.
cu,
Andreas
@@Maxxon:
Wenn ich den Link jetzt anklicke, bleibt er auch für eine oder zwei Sekunden fett.
„Die Pseudo-Klasse :active gilt, während ein Element vom Benutzer aktiviert wird. Beispielsweise könnte das zwischen den Zeitpunkten sein, wo der Benutzer die Maustaste drückt und sie wieder loslässt.“ [CSS2 §5.1.4]
Wenn dann der Content der Seite geladen wird, refresht sich die Seite kurz neu, der Content wird dann wie gewünscht angezeigt...aber die Fettformatierung ist wieder weg!
Auf der neuen Seite ist der Link auch nicht mehr „aktiv“.
Der Menüpunkt sollte dort üperhaupt kein Link mehr sein: „Verlinke niemals auf die aktuelle Seite.“ (Punkt 10 der zehn meist-missachteten Homepage-Design-Richtlinien [Nielsen])
Live long and prosper,
Gunnar