Dirk Wenkdorff: A NAME Linkziel hovert

Hallo zusammen,

folgender simpler Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1">

<STYLE type="text/css">
a:link{color:#BB4400; font-weight:bold; text-decoration:none;}
a:visited{color:#BB4400; font-weight:bold; text-decoration:none;}
a:hover {color:#BB4400; font-weight:bold; text-decoration:underline;}
a:active {color:#BB4400; font-weight:bold; text-decoration:underline;}
</STYLE>

<TITLE>Linktest</TITLE>
</HEAD>
<BODY>
<A HREF="#linktarget">internal link</A>

<P>blablabla</P>

<A NAME="linktarget">link target</A>
</BODY>
</HTML>

Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?
Mozilla macht das so und obwohl die natürlich auch Fehler machen, könnte es ja durchaus auch erlaubt sein.

Grüße,
Dirk

  1. hi

    Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?
    Mozilla macht das so und obwohl die natürlich auch Fehler machen, könnte es ja durchaus auch erlaubt sein.

    welchen grund gibt es bei einem a:hover nicht jedes <a> zu "hovern" (blöde Wortkreation, aber mir fiel nix besseres ein)? Mozilla (und übrigens auch konqueror 3) verhalten sich hier richtig.
    Mit a:link:hover,a:visited:hover{} ist Ruhe.

    Grüße aus Bleckede

    Kai

    1. Tach Kai,

      Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?
      Mozilla macht das so und obwohl die natürlich auch Fehler machen, könnte es ja durchaus auch erlaubt sein.

      welchen grund gibt es bei einem a:hover nicht jedes <a> zu "hovern" (blöde Wortkreation, aber mir fiel nix besseres ein)?

      Die Konsequenz und das System das dahinter steckt sprechen dafür.
      Aber ich finde es nicht nur ziemlich nutzlos sondern auch störend wenn normaler Text (der ja meist das Linkziel darstellt) beim Überfahren plötzlich das Aussehen ändert

      Mozilla (und übrigens auch konqueror 3) verhalten sich hier richtig.

      Wiedermal, schön, ist jedes Mal die Bestätigung doch den richtigen Browser zu verwenden.

      Mit a:link:hover,a:visited:hover{} ist Ruhe.

      Ach, ach du meine Güte. Das ist gut, aus SELFHTML konnte ich diese Möglichkeit nicht rauslesen.
      Herzlichen Dank!

      schönen Gruß,
      Dirk

      1. hi

        Die Konsequenz und das System das dahinter steckt sprechen dafür.
        Aber ich finde es nicht nur ziemlich nutzlos sondern auch störend wenn normaler Text (der ja meist das Linkziel darstellt) beim Überfahren plötzlich das Aussehen ändert

        der Punkt ist, dass die <a name="">-Konstrukte beim W3C eh auf der Abschussliste stehen. Dort hat man lieber eine id="" an einen beliebigen (!) Element als Sprungziel.

        Grüße aus Bleckede

        Kai

        1. Hallo,

          Die Konsequenz und das System das dahinter steckt sprechen dafür.
          Aber ich finde es nicht nur ziemlich nutzlos sondern auch störend wenn normaler Text (der ja meist das Linkziel darstellt) beim Überfahren plötzlich das Aussehen ändert

          der Punkt ist, dass die <a name="">-Konstrukte beim W3C eh auf der Abschussliste stehen. Dort hat man lieber eine id="" an einen beliebigen (!) Element als Sprungziel.

          Ähm, ja?
          Kannst Du mir eine Quelle dazu nennen? Ich bin immer ziemlich erstaunt, was von veralteten oder unerwünschten Tags zu lesen. Meistens steht's dann aber im HTML-Draft drinnen, im 4.01er wird aber name vollkommen gleichwertig zu id empfohlen (http://www.w3.org/TR/html4/struct/links.html#idx-anchor-9).

          Gruß,
          Dirk

          1. hi

            Kannst Du mir eine Quelle dazu nennen? Ich bin immer ziemlich erstaunt, was von veralteten oder unerwünschten Tags zu lesen. Meistens steht's dann aber im HTML-Draft drinnen, im 4.01er wird aber name vollkommen gleichwertig zu id empfohlen (http://www.w3.org/TR/html4/struct/links.html#idx-anchor-9).

            frische HTML-Version hilft:
            http://www.w3.org/TR/xhtml11/changes.html#a_changes

  2. Hi,

    a:link{color:#BB4400; font-weight:bold; text-decoration:none;}
    a:visited{color:#BB4400; font-weight:bold; text-decoration:none;}
    a:hover {color:#BB4400; font-weight:bold; text-decoration:underline;}
    a:active {color:#BB4400; font-weight:bold; text-decoration:underline;}
    </STYLE>

    <A NAME="linktarget">link target</A>

    Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?

    Natürlich, der Link steht ja in einem <a>-Tag. Definiere eine eigene Klasse für interne oder externe Links, wenn du teilen willst. Mit Attribut-Selektoren kann man noch nicht arbeiten (M$IE ist zu blöd).

    LG Orlando

    --
    SELF-TREFFEN 2002
    http://www.rtbg.de/selftreffen/
    http://www.megpalffy.org/temp/penneninhh.html

    1. Hallo ihrs,

      Mit Attribut-Selektoren kann man noch nicht arbeiten (M$IE ist zu blöd).

      Das W3C sieht das anders ;-) Die haben seit einiger Zeit ein a[href]:hover { background: #ffa } in dem Style-Sheet für die Recommendations stehen, mit dem Resultat, daß IE-ler beim hovern nicht mehr den netten gelben Hintergrund sehen...

      Zu den in den anderen Postings vorgeschlagenen Lösung (:link:hover,:visited:hover) ist zu sagen, daß dies von Opera nicht verstanden wird. Und zusätzlich ist in Mozilla ein a:link:active,a:visited:active nötig, wenn zusätzlich der active-Effekt verwendet werden soll (:active alleine würde dann nämlich vom kleinen Drachen ignoriert werden).

      Insgesamt erscheint mir also die Variante mit Attribut-Selektoren die sauberste Variante zu sein. Und außerdem: ich fordere gleiches Recht für alle. Netscape4 kann kein :hover. Und mir ist es jetzt auch sch***-egal, wenn auf diese Weise der IE kein :hover mehr zustande bekommt ;-)

      Es lebe der Fortschritt! ;-)

      Viele Grüße
      Carsten

    2. Hallo Orlando,

      Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?

      Natürlich, der Link steht ja in einem <a>-Tag.

      Ja, von daher ist es durchaus einsichtig.

      »»Definiere eine eigene Klasse für interne oder externe Links, wenn du teilen willst.

      Darum geht's mir nicht. Links dürfen und sollen wie Links aussehen, aber bei den Linkzielen finde ich das furchtbar störend. Schließlich ist das meistens normaler Text und wenn der beim Überfahren plötzlich das Aussehen ändert, ist das ziemlich daneben.
      Aber konsequent ist es natürlich schon, klar.

      Mit Attribut-Selektoren kann man noch nicht arbeiten (M$IE ist zu blöd).

      Naja, das einzige Mal wo ich dachte es verwenden zu können, war links innerhalb meiner Site von denen auf andere Sites optisch trennen zu können. Also die Links in denen http vorkommt rausfiltern - aber das geht scheinbar nicht weil es vom Rest der URL weder durch Blank noch durch Bindestrich getrennt ist - oder?

      Ciao,
      Dirk

  3. Hallo zusammen,

    Hallo,

    folgender simpler Code:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <HTML>
    <HEAD>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1">

    <STYLE type="text/css">
    a:link{color:#BB4400; font-weight:bold; text-decoration:none;}
    a:visited{color:#BB4400; font-weight:bold; text-decoration:none;}
    a:hover {color:#BB4400; font-weight:bold; text-decoration:underline;}
    a:active {color:#BB4400; font-weight:bold; text-decoration:underline;}
    </STYLE>

    <TITLE>Linktest</TITLE>
    </HEAD>
    <BODY>
    <A HREF="#linktarget">internal link</A>

    <P>blablabla</P>

    <A NAME="linktarget">link target</A>
    </BODY>
    </HTML>

    Ist es denn korrekt, wenn beim Überfahren des Textes "link target" der Text sich gemäß in a:hover angegeben verändert?

    Ja, das ist korrekt.
    a:hover bedeutet ein Element namens a, über dem die Maus schwebt.

    Wenn Du nur Links mit Mouse-Over versehen willst, mußt Du

    a:link:hover
    benutzen, denn das formatiert Elemente namens a mit einem href-Attribut, über denen die Maus schwebt.

    In diesem Fall ist nicht Mozilla inkorrekt, sondern praktisch alle anderen Browser...
    Andreas

    1. Hi Andreas,

      Wenn Du nur Links mit Mouse-Over versehen willst, mußt Du

      a:link:hover
      benutzen, denn das formatiert Elemente namens a mit einem href-Attribut, über denen die Maus schwebt.

      Danke, das gefällt mir.

      In diesem Fall ist nicht Mozilla inkorrekt, sondern praktisch alle anderen Browser...

      Wie meistens ...

      Ciao,
      Dirk

  4. Aloha!

    Du schreibst:

    a:hover {color:#BB4400; font-weight:bold; text-decoration:underline;}

    Und dann

    <A NAME="linktarget">link target</A>

    Wenn man es genau betrachtet, ist Mozillas verhalten exakt richtig: Du hast ein A-Element, und mit CSS ein Verhalten bei hover angegeben - also alles korrekt, was Mozilla macht.

    Wenn du hovern nur bei Links haben willst, dann nimm:

    a:link:hover { }

    Wenn ich mich nicht vollkommen verlesen habe, dann korrigieren die anderen Browser die a:hover-Angabe zu obiger, und Mozilla macht das eben nicht.

    Du mußt auch keine Angst haben, daß Netscape 4 austickt: Der kann sowieso nicht hovern. ;)

    PS: Mozilla kann :hover nicht nur auf Links anwenden. Damit könnte man sich sogar ein javascriptloses Menü basteln. Allerdings mißtraue ich diesem Gedanken sehr. Für irgendwas muß Javascript doch schließlich noch gut sein - und außerdem ist eine Mozilla-only-Lösung nicht wirklich praktikabel im Internet.

    - Sven Rautenberg

    1. Tagchen Sven,

      <A NAME="linktarget">link target</A>

      Wenn man es genau betrachtet, ist Mozillas verhalten exakt richtig: Du hast ein A-Element, und mit CSS ein Verhalten bei hover angegeben - also alles korrekt, was Mozilla macht.

      Wenn du hovern nur bei Links haben willst, dann nimm:

      a:link:hover { }

      Das scheint das Mittel der Wahl zu sein, danke.
      Mit Selektoren habe ich wegen IE auch noch so meine Bedenken.

      Wenn ich mich nicht vollkommen verlesen habe, dann korrigieren die anderen Browser die a:hover-Angabe zu obiger, und Mozilla macht das eben nicht.

      Äh, wenn Du schreibst "korrigieren", dann klingt das aber wieder so als wäre a:link:hover nicht korrekt?

      Gruß,
      Dirk