Norbert Kölln: Linkfarbe ändern für den Rest der Seite

Moin, moin!

Ich habe mit Hilfe einer CSS-Datei die Farben für Links festgelegt, möchte diese Farben aber von einer bestimmten Stelle an mit einem einzigen Befehl für den Rest der Seite ändern.

Beispiel:

<html>
  <link rel="stylesheet" href="http://www.xyz.de/formate.css">
  <body>
    <a href="hallo.htm">Link in der festgelegten Farbe</a>
    <table>
      <tr>
        <td>
          <a href="murks.htm">Link in der festgelegten Farbe</a>
          <a href="mist.htm">Link in der _neuen_ Farbe</a>
        </td>
      </tr>
    </table>
    <a href="egal.htm">Link in der _neuen_ Farbe</a>
  </body>
</html>

Die Änderung der Linkfarbe soll also innerhalb einer Tabellenzelle erfolgen und dann auch außerhalb der Tabelle gültig sein.

Hat jemand einen Tip?

Norbert

  1. Hi,

    mit einem einzigen Befehl

    wenn Du Befehle suchst, bist Du im Bereich HTML und CSS falsch. Es gibt Tags, Attribute, Angaben etc., aber befohlen wird nirgendwo etwas. Höchstens _emp_fohlen.

    [...]

    <a href="murks.htm">Link in der festgelegten Farbe</a>
              <a href="mist.htm">Link in der _neuen_ Farbe</a>

    <a href="murks.htm">Link in der festgelegten Farbe</a>
    <a href="mist.htm" class="neue_farbe">Link in der _neuen_ Farbe</a>

    Diese Klasse kannst Du z.B. durch

    a.neue_farbe:visited { ... }

    definieren.

    Cheatah

    1. Hallo Cheatah!

      Mit Deiner Lösung wird die Farbe für genau einen Link geändert, bei jedem weiteren müßte ich die notwendigen Angaben wieder in den Quelltext einfügen. Ich möchte aber erreichen, daß nach der ersten Farbänderung alle weiteren Links die neue Farbgebung erhalten. Dazu suche ich einen Tag/ein Attribut/eine Angabe, die für den Rest der Seite Gültigkeit hat.

      Mit freundlichem Gruß,
      Norbert

      1. Hallo Norbert!

        Mit Deiner Lösung wird die Farbe für genau einen Link geändert, bei jedem weiteren müßte ich die notwendigen Angaben wieder in den Quelltext einfügen.

        Exakt. Und anders geht es leider nicht.

        Patrick

        1. Hallo Patrick!

          Keine Chance? Es ist nur einmalig möglich, Farben generell festzulegen? Ich hatte gehofft, mit <span>, <div> oder einem ähnlichen Tag/einer ähnlichen Anweisung von einer bestimmten Stelle bis zum Seitenende andere Farbfestlegungen für die Links festzuschreiben.

          Norbert

          1. Du kannst natürlich sagen, dass alle links in einem <div> mit Klasse "blabla" ein bestimmtes Aussehen haben, aber nicht ab einer bestimmten Stelle im Dokument.

            Wie das geht, schaust du am besten in SelfHTML nach.

            1. Moin!

              Mit einem <div> würde ich mir es so vorstellen:

              <html>
                <link rel="stylesheet" href="http://www.xyz.de/formate.css">
                <body>
                  <style type='text/css'>
                    a.red:link {color:red;}
                    a.red:visited {color:red;}
                    a.red:active {color:red;}
                  </style>
                  <a href="hallo.htm">Link in der festgelegten Farbe</a>
                  <table>
                    <tr>
                      <td>
                        <a href="murks.htm">Link in der festgelegten Farbe</a>
                        <div class="red">
                          <a href="mist.htm">Link in der _neuen_ Farbe</a>
                        </div>
                      </td>
                    </tr>
                  </table>
                  <a href="egal.htm">Link in der _neuen_ Farbe</a>
                </body>
              </html>

              Leider funktioniert es nicht.

              Hast Du dazu einen Tip?

              Norbert

              1. So geht's,

                siehe http://www.teamone.de/selfhtml/tdbb.htm#a3

                <html>
                  <link rel="stylesheet" href="http://www.xyz.de/formate.css">
                  <body>
                    <style type='text/css'>
                      div.red a:link {color:red;}
                      div.red a:visited {color:red;}
                      div.red a:active {color:red;}
                    </style>
                    <a href="hallo.htm">Link in der festgelegten Farbe</a>
                    <table>
                      <tr>
                        <td>
                          <a href="murks.htm">Link in der festgelegten Farbe</a>
                          <div class="red">
                            <a href="mist.htm">Link in der _neuen_ Farbe</a>
                          </div>
                        </td>
                      </tr>
                    </table>
                    <div class="red">

                <a href="egal.htm">Link in der _neuen_ Farbe</a>
                     </div>
                  </body>
                </html>

          2. Hi ihr im Thread

            Keine Chance? Es ist nur einmalig möglich, Farben generell festzulegen? Ich hatte gehofft, mit <span>, <div> oder einem ähnlichen Tag/einer ähnlichen Anweisung von einer bestimmten Stelle bis zum Seitenende andere Farbfestlegungen für die Links festzuschreiben.

            Ich habe es nicht ausprobiert und es ist vielleicht ziemlich unüberlegt aber:

            Wenn ich im externen StyleSheet die Form des a-Tag definiere und anschließend im nachfolgenden internen StyleSheet des Dokuments wieder anders definiere, dann werden die Werte überschrieben.

            Kann das nicht auch hier funktionieren. Ich habe meine Sache nicht gründlich gelernt, denn ich bin mir nicht sicher ob der StyleSheet nicht im Head definiert sein muss (oder nur sollte), aber er funktioniert bei IE4+ und NN6 garantiert auch im Body. Also warum nicht kurz vor dem Link einen internen StyleSheet mit der neuen Farbe für a, der dann fortan gilt?

            ??Ähm ist das ganz blöd?

            gruß sven

            1. Hallo Sven!

              So etwas habe ich bereits probiert. Es führte aber dazu, daß alle Links der Seite die neue Farbe erhielten, auch die vor dem neuen StyleSheet.

              Norbert

              1. Hi Norbert!

                MMhhhh, leider, ich habe es auch schon probiert. Wäre auch zu schöne gewesen.

                gruß sven

                So etwas habe ich bereits probiert. Es führte aber dazu, daß alle Links der Seite die neue Farbe erhielten, auch die vor dem neuen StyleSheet.

                Norbert

          3. Hallo!

            Keine Chance? Es ist nur einmalig möglich, Farben generell festzulegen? Ich hatte gehofft, mit <span>, <div> oder einem ähnlichen Tag/einer ähnlichen Anweisung von einer bestimmten Stelle bis zum Seitenende andere Farbfestlegungen für die Links festzuschreiben.

            Nein, es geht:

            a { color:#00008B }
            div a { color:#DCDCDC }

            Die 2.Zeile bedeutet, das alle <a> innerhalb eines <div></div> in #DCDCDC dargestellt werden. Mit einem <div></div>-Bereich könntest Du aber in Deinem Fall Probleme haben, da er ja innerhalb einer Tabelle beginnen soll und außerhalb der Tabelle beendet werden soll. Mußt Du halt ausprobieren, wie die einzelnen Browser da reagieren. Ansonsten bleibt Dir wohl nur die Lösung mit verschiedenen Klassen.

            Gruß Markus

            PS: Natürlich ist auch div a.visited {...} etc. möglich.

            1. Sorry!

              PS: Natürlich ist auch div a.visited {...} etc. möglich.

              Muß natürlich div a:visited {...} heißen.

              Gruß Markus