PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS - a:active a:hover werden ignoriert



CaptainAlphabet
05-02-2005, 15:31
Damit ich nicht in jede einzelne HTML-Datei Schrift-, Link-, Hintergrundfarben, u.s.w. eintragen muss, habe ich eine CSS-Datei, mit den gewünschten Werten geschrieben. Allerdings werden die Einstellungen für die Ereignisse a:active a:hover und ignoriert. Kann mir jemand sagen, was ich falsch gemacht habe oder ob es dafür auch andere Möglichkeiten gibt?

Ich habe zum Testen mal besonders deutliche Farben genommen:

a:active
{
color:#FFFF00;
text-decoration:none;
}

a:hover
{
color:#FF0000;
text-decoration:underline;
}

a:link
{
color:#00FF00;
text-decoration:none;
}

a:visited
{
color:#008000;
text-decoration:none;
}

Pingu
05-02-2005, 18:47
Bei CSS ist auch immer die Reihenfolge wichtig, d. h. eine neue Regel überschreibt eine alte Regel. In Deinem Fall ist die Regelreihen folge:
1. hover
2. active
3. link
4. visited

Dabei beschreibt "link" das allgemeine Aussehen eines Links; hover wenn man mit der Maus darüber "fährt"; active wenn man klickt; visited wenn man ihn schon einmal besucht hat.

Da Du die allgemeine Beschreibung nach dem hover definiert hast, trifft diese auch zu, wenn Du mit der Maus darüber bist. Anders wäre es bei einer anderen Reihenfolge:
1. link
2. hover

Hier würde jetzt die hover-Regel die link-Regel überschreiben.

Ich hoffe Du hast das jetzt so verstand, wie ich es erklärt habe und kannst Dir den Rest dazu denken und ein bißchen mit herumspielen, um zusehen was man damit an Effekten noch erreichen kann.

Pingu

CaptainAlphabet
05-02-2005, 19:08
Danke! Funktioniert jetzt mit der Reihenfolge:

link
visited
hover
active

ohcibi
21-02-2005, 16:59
Ich habe zum Testen mal besonders deutliche Farben genommen:

a:active
{
color:#FFFF00;
text-decoration:none;
}

a:hover
{
color:#FF0000;
text-decoration:underline;
}

a:link
{
color:#00FF00;
text-decoration:none;
}

a:visited
{
color:#008000;
text-decoration:none;
}

ich wuerde dir davon abraten den allgemeinen link mit a:link zu beschreiben, weil du dann (wie in deinem beispiel eben) wiederkehrende stilelemente immer wieder neu notieren musst....
mit



a
{
color:#00FF00;
text-decoration:none;
}
a:active
{
color:#FFFF00;
}

a:hover
{
color:#FF0000;
text-decoration:underline;
}
a:visited
{
color:#008000;
}


sollte dir auffallen, dass ueberall wo text-decoration:none sein soll darauf verzichtet werden kann, weil du es im allgemeinen a schon beschrieben hast...

die explizite auszeichung mit a:link ist nur dann sinnvoll wenn sich das aussehen des standardlinks in allen interessanten eigenschaften von den anderen unterscheidet.....