molily: (CSS) Ankerdarstellung bei Mozilla

Hallo, zusammen.

Gerade kommt mir ein Problem in den Sinn, welches mir vorher nicht aufgefallen zu sein scheint und welches sich nicht durch Recherche im Forumsarchiv klären lassen konnte. (Btw: ich plädiere dafür, die Archivsuchskript-Voreinstellung "Groß- bzw. Kleinschreibung berücksichtigen" zu deaktivieren, denn in den seltensten Fällen sucht man "case sensitive".)

Auf der Seite http://home.t-online.de/home/dj5nu/sterne.html definiere ich ein Anker in einer Überschrift: <h2><a name="einleitung" id="einleitung">Einleitung</a></h2>.
Per CSS definiere ich:
#inhalt a:link {color:#0000c0; background-color:#dcdcdc; text-decoration:underline;}
#inhalt a:visited {color:#000040; background-color:#dcdcdc; text-decoration:underline;}
#inhalt a:hover {color:#0000c0; background-color:#ebebeb; text-decoration:underline;}
#inhalt a:active {color:#0000c0; background-color:#ebebeb; text-decoration:underline;}
(Die Links befinden sich innerhalb eines divs mit id="inhalt", darauf beruht das CSS-Layout.)

Wenn ich nun im Mozilla die Maus über den Anker bewege, bekommt er die Formatierungen wie sie unter #inhalt a:hover beschrieben sind. Diese sollen sich jedoch nur auf Hyperlinks und nicht auf Anker beziehen. Wie kann ich das unterbinden oder woran liegt es - sollte ich ggf. auf #inhalt a[href]:hover ausweichen und gleichzeitig bangen, ob andere Browser diesen Ausdruck überhaupt verstehen? Liegt es vielleicht an #inhalt und/oder der "Verschachtelung" von zwei id-Bereichen ("äußere" id: inhalt, "innere" id: einleitung)?

Eine weitere Frage: http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus besagt: "Um eine korrekte Darstellung dieser Pseudoformate zu erreichen, müssen Sie bei der Notierung die folgende Reihenfolge einhalten: :link, :visited, :hover, :active." Trifft dies noch uneingeschränkt zu und ist es eine sinnvolle Regel oder ist/war dies ein Problem eines speziellen Browsers? Außerdem, wie sieht es mit der Reihenfolge aus, wenn :visited:hover u.ä. dazukommt? ;-)

Btw, vielleicht von Belang: ich arbeite mit dem ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-win32-svg-mathml.zip (zwecks nativer SVG-Unterstützung) in der Version welche sich Mozilla 1.0.0+ Build ID 2002050810 nennt. Ob das schon RC2 ist, weiß ich nicht, dem Datum nach nicht, aber die Änderungen seitdem sind sicher marginal.

Grüße,
Mathias

  1. Hi,

    Wenn ich nun im Mozilla die Maus über den Anker bewege, bekommt er die Formatierungen wie sie unter #inhalt a:hover beschrieben sind.

    mache es "traditionell": <a name="anker"></a> ohne Inhalt.

    Eine weitere Frage: http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus besagt: "Um eine korrekte Darstellung dieser Pseudoformate zu erreichen, müssen Sie bei der Notierung die folgende Reihenfolge einhalten: :link, :visited, :hover, :active." Trifft dies noch uneingeschränkt zu und ist es eine sinnvolle Regel

    Die Regel basiert auf Logik. Die Definitionen werden von oben nach unten durchgegangen; wenn eine Eigenschaft zutrifft, wird die Anzeige verändert. Würdest Du erst a:visited und danach a:link definieren, würde :visited niemals angezeigt werden, weil :link immer zutrifft und ergo das vorherige :visited überschreibt.

    Außerdem, wie sieht es mit der Reihenfolge aus, wenn :visited:hover u.ä. dazukommt? ;-)

    Das :visited wird durch das :hover überschrieben - daher die Reihenfolge :-) Wenn Du allerdings besuchte Links immer als solche anzeigen willst, definiere es einfach umgekehrt. Soweit ich weiß, kann man einen besuchten Link bei :hover nicht von einem "neuen" unterschiedlich darstellen lassen; :hover ist immer :hover.

    Cheatah

  2. Hallo,

    Wenn nur links einen hover-Effekt erzeugen sollen, mußt Du
    a:link:hover
    benutzen.

    a:hover
    formatiert alle a-Elemente, über denen die Maus "schwebt".

    Siehe auch http://www.w3.org/TR/REC-CSS2/selector.html#dynamic-pseudo-classes, wo es heißt:

    These pseudo-classes are not mutually exclusive. An element may match several of them at the same time.

    Bezieht sich an exakt dieser Stelle zwar nur auf die dynamischen Pseudoklassen, aber ist im Prinzip auch auf :link bzw. :visited übertragbar.

    Da der Mozilla 1RC2 der erste Browser ist (soweit ich das weiß), der :hover auch für nicht-Links anwendet, ist das bisher nicht aufgefallen (auch meine CSS-Dateien sind noch nicht angepaßt, da ich das auch erst gestern gemerkt habe).

    1. hi

      Da der Mozilla 1RC2 der erste Browser ist (soweit ich das weiß), der :hover auch für nicht-Links anwendet, ist das bisher nicht aufgefallen (auch meine CSS-Dateien sind noch nicht angepaßt, da ich das auch erst gestern gemerkt habe).

      konqueror kann's auch teilweise!

      Grüße aus Lüneburg

      Kai

      1. hi

        konqueror kann's auch teilweise!

        Komando zurück - ich ahnte ja nicht, WAS Mozilla da jetzt kann! Mein Kommentar dazu ist: GEIIIIIIIIIIIIIIIIIL!!!!!! *h*

        Grüße aus Lüneburg

        Kai