AndreasW: Pseudoformate, Definitionen und override

Beitrag lesen

Moin!

Tach

Das

a:link {color:#BB4400; text-decoration:underline;}
gilt für noch nicht besuchte Links (und nebenbei gibts noch die

a:link gilt für alle Links (d.h. a-Elemente mit href-Attribut)! Nicht nur für unbesuchte.

Pseudoklassen :visited, :hover, :active und :focus, die du ebenfalls formatieren solltest, oder du formatierst nur a {...}.

a { ... } funktioniert alle a-Elemente, also auch solche ohne href-Attribut.

Denn das

a.pic {text-decoration:none; font-weight:bold; color:#000000;}
formatiert alle Pseudoklassen. Wenn du Abweichungen von a:link mit Klasse formatieren willst, nimm a.pic:link.

Letztendlich müßtest du für eine vollständige Definition entweder sowas machen:

a { }
a.pic { }

Oder alle Pseudoklassen einzeln aufführen:
a:link
a:visited
a:active
a:hover
a:focus
a.pic:link
a.pic:visited
a.pic:active
a.pic:hover
a.pic:focus

Die richtige Reihenfolge ist entscheidend. Außerdem (da es inzwischen einen Browser gibt, der :hover... auch auf nicht-Links anwendet).

a:link /* für alle Links */
a:visited /* für alle besuchten Links */
a:link:focus /* für Links, die den Eingabefokus haben */
a:link:hover /* für Links, über denen der Mauszeiger schwebt */
a:link:active /* für Links während des Klickens */

a.pic:link /* für alle Links der class pic */
a.pic:visited /* für alle besuchten Links der class pic */
a.pic:link:focus /* für Links, die den Eingabefokus haben der class pic */
a.pic:link:hover /* für Links, über denen der Mauszeiger schwebt der class pic */
a.pic:link:active /* für Links während des Klickens der class pic */

gibt man das zusätzliche :link nicht an, werden im Mozilla 1.0RC2 nämlich z.B. bei hover auch <a name="blabla">blabla</a>
entsprechend der Regeln bei
a:hover
umformatiert.

Du kannst auch erst allgemein a formatieren (z.B. Schriftart und -größe, gilt für alle Pseudoklassen), und dann Abweichungen für jede einzelne Pseudoklasse danach um- oder neuformatieren (beispielsweise die Farben).

Daß a:link a.pic überlagert, dürfte nur dann passieren, wenn a:link nach a.pic angegeben wird, denn beide haben die selbe Spezifigkeit (0 1 1), und damit muß der letztgenannte gewinnen.
siehe http://www.w3.org/TR/REC-CSS2/cascade.html#cascade

  • Sven Rautenberg

Andreas