Marcel: CSS zusammenfassen

Hallo,

in meiner Stylesheetdatei stehst sowas in der Art:

a:link
{
color:#000000;
text-decoration:underline;
}

a:visited
{
color:#000000;
text-decoration:underline;
}

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

a:hover
{
color:#000000;
text-decoration:none;
}

Jetzt meine Frage. Kann  ich das auch zusammenfassen?
So irgendwie in der Art?

a:link
a:visited
{
color:#000000;
text-decoration:underline;
}

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

mfg Marcel

  1. Hi,

    Jetzt meine Frage. Kann  ich das auch zusammenfassen?

    Ja.

    So irgendwie in der Art?

    Fast.

    a:link
    a:visited

    das würde besuchte Links innerhalb von Links formatieren (wobei schon HTML verbietet, daß Links innerhalb von Links vorkommen.

    Um mehrere Selektoren für dieselbe Formatierung zu verwenden, sind diese durch Kommata zu trennen:

    a:link, a:visited  { /*...*/ }

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.mud-guard.de/
  2. Hallo Marcel,

    Jetzt meine Frage. Kann  ich das auch zusammenfassen?

    Jepp. Man kann verschiedene Selektoren in einer CSS-Regel zusammenfassen:

    eins, zwei {/*bla*/}

    Siehe http://selfhtml.teamone.de/css/formate/zentrale.htm#elemente

    So irgendwie in der Art?
    a:link
    a:visited
    {
    color:#000000;
    text-decoration:underline;
    }

    Wobei das hier auf alle bereits besuchten Links wirkt, die sich innerhalb
    eines anderen Links befinden. Etwas, das in HTML nicht erlaubt ist; diese
    Regel wäre in der Praxis also eher unsinnig Der Unterschied zwischen oben
    und hier ist die Trennung der einzelnen Selektoren mittels eines Komma. Ohne
    Komma wird von einer Verschachtelung der einzelnen Elemente ausgegangen:
    http://selfhtml.teamone.de/css/formate/zentrale.htm#verschachtelte_elemente

    Bei Dir müßte es also so heißen:

    a:link, a:visited {
        /* bla */
      }

    Wobei: Ich bin mir nicht ganz sicher, wie genau diese Kombination in der
    Praxis wirkt. Die Pseudoklassen für Links müssen ja genau in einer bestimmten
    Reihenfolge notiert werden: http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus
    Im Prinzip könnte man diese Reihenfolge auch einhalten, wenn man die
    einzelnen Selektoren wie oben gruppiert, allerdings weiß ich nicht, wie
    die unterschiedlichen Browser darauf reagieren. Für mich klingt es wie
    eine zusätzliche Fehlerquelle, etwas, das man mal ausführlicher testen
    müßte.

    Ich würde die einzelnen Pseudoklassen immer einzeln notieren und die
    Gruppierung von mehreren Selektoren nur für ungefährliche Elemente
    benutzen, z.B. so:

    p, li, blockquote { /* bla */ }

    Tim

  3. Marcel,
    Du willst wirklich schon besuchte und noch nicht besuchte Links gleich aussehen lassen? Benutzerfreundlich ist das nicht. Du verweigerst den Nutzern Informationen, die manche für wichtig erachten könnten.
    Gunnar

    --
    Good results come from experience; and experience comes from bad results.
  4. Hi,

    an Stelle von:

    a:link
    {
    color:#000000;
    text-decoration:underline;
    }

    a:visited
    {
    color:#000000;
    text-decoration:underline;
    }

    ...

    Könntest du auch schreiben:

    a {color: #000000;}
    a:link {text-decoration: underline;}
    a:visited {text-decoration: underline;}

    ...

    Dann müßtest du zumindest die Farbe schon nur noch einmal setzten ... ist ja eh immer die gleiche.

    Grüße, Andre

    1. Hi,

      a {color: #000000;}
      a:link {text-decoration: underline;}
      a:visited {text-decoration: underline;}

      Das ist aber etwas anderes als nur a:link / a:visited zu formatieren.
      Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
      a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.mud-guard.de/
      1. Hallo,

        Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
        a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.

        Nur so zur Info:
        Netscape 4 wendet gewisse Eigenschaften von a:link,
        z.B. Unterstreichung und Hintergrundfarbe,
        auch auf reine Anker an.
        [link:http://www.tiptom.ch/tests/css/a_name.html

        Gruesse,

        Thomas

        --
        Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
        Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        1. Hi,

          Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
          a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.

          Netscape 4 wendet gewisse Eigenschaften von a:link, z.B. Unterstreichung und Hintergrundfarbe,
          auch auf reine Anker an. http://www.tiptom.ch/tests/css/a_name.html

          Das ist dann eindeutig ein Bug, während das von Andre angegebene CSS ja darauf abzielt, auch nicht-link-a-Elemente zu formatieren.

          Man sollte wirklich mal eine Virus-Variante schreiben, die auf den befallenen Rechnern ein Update der Browser durchführt... ;-)

          cu,
          Andreas

          --
          MudGuard? Siehe http://www.mud-guard.de/
      2. Hi,

        Das ist aber etwas anderes als nur a:link / a:visited zu formatieren.

        stimmt - haste Recht.

        Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit

        Was man dann mit a[name] {irgend was anderes;} wieder ändern könnte/müßte... _und_ "Netscape 6.0 interpretiert diese Angaben, der Internet Explorer 5.5 noch nicht." ... aber irgendwas ist ja immer ;)

        Alternativ könnte man ja auch eine Klasse schreiben die dann in alle <a name="was weiss i">Anker</a> eingefügt wird.

        Grüße, Andre

        1. Hi,

          Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit

          Was man dann mit a[name] {irgend was anderes;} wieder ändern könnte/müßte... _und_ "Netscape 6.0 interpretiert diese Angaben, der Internet Explorer 5.5 noch nicht." ... aber irgendwas ist ja immer ;)

          Alternativ könnte man ja auch eine Klasse schreiben die dann in alle <a name="was weiss i">Anker</a> eingefügt wird.

          Oder eben viel einfacher: die Anker gar nicht erst mit-formatieren, wenn man nur die Links formatieren will...

          cu,
          Andreas

          --
          MudGuard? Siehe http://www.mud-guard.de/