Heinrich E.: Formatierung von a:visited ...

.menue a, .menue a:link, .menue a:active, .menue a:visited {
 color: #OE5BE9;
 text-decoration: none;
}
.menue a:hover {
 color: #OE5BE9;
 text-decoration: underline;
}

Warum wird hier ein besuchter Link ('a:visited') dennoch in der violetten Standard-Farbe angezeigt? ... und wie kann ich das verhindern? :-)

  1. Hi,

    .menue a, .menue a:link, .menue a:active, .menue a:visited {
    color: #OE5BE9;

    Den Farbwert buchstabiert:
    Lattenzaun Otto Emil Fünf Berta Emil Neun

    Weil das kein gültiger Farbwert ist, wird die Angabe ignoriert und die Standardfarbe benützt.

    Bei :hover der selbe falsche Wert.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. *Asche auf mein Haupt!* ;-)
      Zja, das kommt davon, wenn man Hex-Codes einmal falsch eingibt & dann per Strg-C/Strg-V einfügt!

      Danke, dass Du meine "Betriebsblindheit" am Freitag Mittag geheilt hast!

      Schönen Tag noch,

      Heinrich

  2. Moin!

    a) SelfHTML beantwortet diese Frage.
    b) Das Archiv beantwortet die Frage hundertfach.
    c) Selbst die Forumshauptdatei beantwortet die Frage _offensichtlich_.
    d) Deine Version ist besonders widersprüchlich:
       .menue a {text-decoration:none} vs. .menue a:hover {text-decoration:underline} ?

    Gruß

    Der Hans

    --

    wieder online: http://www.discofoxtanzen.de
    1. Hatte leider nicht so viel Zeit wie Du ... die Du scheinbar hattest um Deine Meinung zu meiner Bitte kundzutun! ;-)

      Schönen Tag noch,

      Heinrich

    2. Moin!

      a) SelfHTML beantwortet diese Frage.
      b) Das Archiv beantwortet die Frage hundertfach.
      c) Selbst die Forumshauptdatei beantwortet die Frage _offensichtlich_.
      d) Deine Version ist besonders widersprüchlich:
         .menue a {text-decoration:none} vs. .menue a:hover {text-decoration:underline} ?

      Wo ist da ein Widerspruch? A-Elemente werden als solche nicht unterstrichen, wenn sie gehovert werden, werden Sie unterstrichen. Das geht durchaus so.

      Weiterhin ist die in SelfHTML vorgegebene Reihenfolge eben _nicht_ zwingend vorgeschrieben. Jedenfalls in _keinem_ gültigen Standard.

      viele Grüße

      Axel

      1. Moin!

        Wo ist da ein Widerspruch? A-Elemente werden als solche nicht unterstrichen, wenn sie gehovert werden, werden Sie unterstrichen. Das geht durchaus so.

        Nach meiner Lesart von HTML ist .menue a ein "Vor die Klammer ziehen" für alle Links der
        Klasse "menue" ... das würde dann aber a:hover mit einschließen.
        Ob sowas dann evtl. netterweise überschrieben wird und trotzdem funktioniert, habe ich
        nicht überprüft.

        Weiterhin ist die in SelfHTML vorgegebene Reihenfolge eben _nicht_ zwingend vorgeschrieben. Jedenfalls in _keinem_ gültigen Standard.

        Habe gerade leider keine Zeit es nachzusehen, aber unbestreitbar funktioniert es nun
        einmal nur in der vorgegebenen Reihenfolge - warum also der Hinweis?

        Gruß

        Der Hans

        --

        wieder online: http://www.discofoxtanzen.de
        1. Hi,

          Nach meiner Lesart von HTML ist .menue a ein "Vor die Klammer ziehen" für alle Links der
          Klasse "menue" ... das würde dann aber a:hover mit einschließen.

          1. ist das nicht HTML, sondern CSS.
          2. bedeutet ein Leerzeichen zwischen einfachen Selektoren eine Schachtelung.
          Es geht also um a:link usw, die in einem Element der Klasse menue liegen, also z.B.

          <div class="menue"><a href="blabla.html">click</a></div>
          oder auch
          <div class="menue"><p><span><b><i><a href="blabla.html">click</a></i></b></span></p></div>
          (also unabhängig von der Schachtelungstiefe - die hier angegebene Schachtelung ist natürlich unsinnig, soll nur als Beispiel für die Verschachtelung dienen).

          Diese Selektoren-Schreibweise hat den Vorteil, daß man eben nicht allen Links einzeln die Klasse mitgeben muß, sondern diese nur einmal für das umliegende Element setzen muß.

          Ob sowas dann evtl. netterweise überschrieben wird und trotzdem funktioniert, habe ich
          nicht überprüft.

          Es funktioniert.

          Das Problem war schlicht und einfach ein O wie Otto statt 0 wie Null im Farbwert.

          Weiterhin ist die in SelfHTML vorgegebene Reihenfolge eben _nicht_ zwingend vorgeschrieben. Jedenfalls in _keinem_ gültigen Standard.
          Habe gerade leider keine Zeit es nachzusehen, aber unbestreitbar funktioniert es nun
          einmal nur in der vorgegebenen Reihenfolge - warum also der Hinweis?

          Ob es funktioniert oder nicht, ist unter anderem davon abhängig, welche Effekte man erzielen will.
          Zulässig ist jede Reihenfolge, nur die Auswirkungen sind unterschiedlich.

          cu,
          Andreas

          --
          Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
          http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
          1. Moin, Mudguard!

            Ich liebe deine Postings (ernsthaft), weil ich immer denke, ich könnte
            Sachverhalte präzise in Worte kleiden ... bis ich deine Statements lese!

            Diese Selektoren-Schreibweise hat den Vorteil, daß man eben nicht allen Links einzeln die Klasse mitgeben muß, sondern diese nur einmal für das umliegende Element setzen muß.

            Ja, klar ... darum machen wir es ja alle so, aber die _eigentliche_ Frage war und ist:

            Ist a {abc:xyz;} a:hover {abc:123;}  ein logischer Widerspruch oder ist das so gedacht?

            Ob es funktioniert oder nicht, ist unter anderem davon abhängig, welche Effekte man erzielen will.
            Zulässig ist jede Reihenfolge, nur die Auswirkungen sind unterschiedlich.

            Effekte? Vielleicht lerne ich ja heute viel mehr dazu, als ich beim Aufstehen dachte,
            aber wenn ich als "Effekt" haben möchte, dass meine Seite einfach den genutzten Attributen
            entsprechend formatiert wird, _muss_ ich alle Pseudoklassen schon in der richtigen
            Reihenfolge nutzen, oder?

            Gruß

            Der Hans

            --

            wieder online: http://www.discofoxtanzen.de
            1. Hi,

              Diese Selektoren-Schreibweise hat den Vorteil, daß man eben nicht allen Links einzeln die Klasse mitgeben muß, sondern diese nur einmal für das umliegende Element setzen muß.
              Ja, klar ... darum machen wir es ja alle so, aber die _eigentliche_ Frage war und ist:

              Ist a {abc:xyz;} a:hover {abc:123;}  ein logischer Widerspruch oder ist das so gedacht?

              wenn man mal davon absieht, daß abc keine CSS-Property ist ;-)

              Das bewirkt, daß erstmal ALLE a-Elemente als Wert für die abc-Property xyz bekommen.
              Sobald aber :hover auf eines der a-Elemente zutrifft (sprich: der Mauszeiger befindet sich über ihm), dann bekommt die Eigenschaft abc den Wert 123.

              Ob es funktioniert oder nicht, ist unter anderem davon abhängig, welche Effekte man erzielen will.
              Zulässig ist jede Reihenfolge, nur die Auswirkungen sind unterschiedlich.
              Effekte? Vielleicht lerne ich ja heute viel mehr dazu, als ich beim Aufstehen dachte,
              aber wenn ich als "Effekt" haben möchte, dass meine Seite einfach den genutzten Attributen
              entsprechend formatiert wird, _muss_ ich alle Pseudoklassen schon in der richtigen
              Reihenfolge nutzen, oder?

              Angenommen, Du definierst

              a:link { color:blue; }
              a:visited { color:yellow; }
              a:hover { color:red; }

              dann erhältst Du blau für nichtbesuchte nichtgehoverte Links, gelb für besuchte nichtgehoverte Links und rot für gehoverte a-Elemente (egal ob Link oder nicht, egal ob besucht oder nicht).

              Willst Du aber, daß für besuchte Links kein hover-Effekt eintritt, machst Du einfach

              a:link { color:blue; }
              a:hover { color:red; }
              a:visited { color:yellow; }

              daraus.

              Die Reihenfolge hängt also vom gewünschten Effekt ab.

              cu,
              Andreas

              --
              Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
              http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
              1. Moin!

                Willst Du aber, daß für besuchte Links kein hover-Effekt eintritt, machst Du einfach

                a:link { color:blue; }
                a:hover { color:red; }
                a:visited { color:yellow; }

                Ich muss gestehen: auf _die_ Idee wäre ich nie und nimmer gekommen, aber es leuchtet ein!

                Danke!

                Gruß

                Der Hans

                --

                wieder online: http://www.discofoxtanzen.de
            2. hi,

              Vielleicht lerne ich ja heute viel mehr dazu, als ich beim Aufstehen dachte,
              aber wenn ich als "Effekt" haben möchte, dass meine Seite einfach den genutzten Attributen
              entsprechend formatiert wird, _muss_ ich alle Pseudoklassen schon in der richtigen
              Reihenfolge nutzen, oder?

              der effekt _richtet_ sich eben nach der reihenfolge, deshalb kann es hier kein generelles "richtig" oder "falsch" geben ;-)

              gruss,
              wahsaga

        2. Hallo,

          Wo ist da ein Widerspruch? A-Elemente werden als solche nicht unterstrichen, wenn sie gehovert werden, werden Sie unterstrichen. Das geht durchaus so.
          Nach meiner Lesart von HTML ist .menue a ein "Vor die Klammer ziehen" für alle Links der
          Klasse "menue" ... das würde dann aber a:hover mit einschließen.

          Nein, ist es nicht. Siehe MudGuard.

          Weiterhin ist die in SelfHTML vorgegebene Reihenfolge eben _nicht_ zwingend vorgeschrieben. Jedenfalls in _keinem_ gültigen Standard.
          Habe gerade leider keine Zeit es nachzusehen, aber unbestreitbar funktioniert es nun
          einmal nur in der vorgegebenen Reihenfolge - warum also der Hinweis?

          Weil ich schon mehrfach gesehen habe, dass Du wehement Fehler in dieser Reihenfolge suchst, wo es keine gibt. Z.B. auch hier: [pref:t=59831&m=336318]. Ich wollte Dich einfach nicht dumm sterben lassen ;-)). Folgendes ist zutreffend:

          Es können durchaus mehrere Pseudoeigenschaften _gleichzeitig_ auftreten. So z.B. Elemente mit Focus werden gehovert (:focus und :hover), bereits besuchte Links werden aktiv (:visited und :active), bekommen den Focus (:visited und :focus) oder werden gehovert (:visited und :hover). Dann, und _nur_ dann spielt die Reihenfolge im CSS eine Rolle, weil z.B. a:hover und a:visited Selectoren sind, werden, wenn beide _gleichzeitig_ für das Element zutreffen, die CSS-Eigenschaften gesetzt, welche zuletzt vereinbart wurden.

          viele Grüße

          Axel