trommel: :hover geht bei Links nur ohne href-Attribut ?

Hi da draußen.

Ich habe einen (oder besser gesagt: mehreren) Links in einer externen css-Datei ein :hover Effekt zugewiesen. Außerdem noch einen :link und einen :visited

So:
#################
.ch_ta:hover
{
 color:#FFFFFF;
}

.ch_ta:link, .ch_ta:visited
{
 color:#000000;
}
#################

Der Link sollte also im Normalzustand schwarz sein, bei :hover aber weiß.

Einige der Links, auf denen das angewandt wird, haben ein href-Attribut. Die anderen noch nicht.
Warum funktioniert der Effekt (im Opera) nur bei denen Links, die _kein_ href-Attr. haben?
Kann es auch daran liegen, dass ich aus den Links per display:block ein block-Element gemacht habe (das soll aber auch so bleiben)?

Danke, eure trommel

  1. Hallo,

    So:
    #################
    .ch_ta:hover
    {
    color:#FFFFFF;
    }

    .ch_ta:link, .ch_ta:visited
    {
    color:#000000;
    }
    #################

    Warum funktioniert der Effekt (im Opera) nur bei denen Links, die _kein_ href-Attr. haben?

    Weil diese, die _kein_ href-Attribut haben, nicht Link-besucht (visited) bzw. Link-nicht-besucht (link) sein können.

    Die anderen können aber zeitgleich die Eigenschaften visited (Link war bereits besucht) bzw. link (Link war noch nicht besucht) _und_ hover (Maus steht drüber) haben. Beide Selectoren treffen also zu. Dann greift der zuletzt festgelegte Selector, also .ch_ta:link, .ch_ta:visited.

    Ändere die Reihenfolge, so dass :hover zuletzt steht.

    viele Grüße

    Axel