Ines: aktuellen Menuepunkt anzeigen

Hallo!

Ich hab da ein Menue, was soweit auch ganz gut funktioniert. Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt. Ich habe irgendwas mit active und visited gelesen, das hat aber nicht funktioniert. Hier der CSS-Teil:

#register {
border-collapse: collapse;
font: normal bold 16px Verdana, Helvetica, sans-serif;color: white;
position:absolute;
left:174px; top:41px;
}

#register td {
width: 140px; height: 20px;
text-align: center;

}

#register a {
display: block; width: 100%; color: white;
background-color: #99CCCC;
text-decoration: none; font: normal bold 12px Verdana, Helvetica, sans-serif;
}

und 2. Macht es einen Unterschied, ob ich #ffffff oder white schreibe?

Ines

  1. hi,

    Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt. Ich habe irgendwas mit active und visited gelesen, das hat aber nicht funktioniert.

    :active beschreibt lediglich den kurzen zeitpunkt, in dem du die maustatse über einem link drückst. es ist daher für dein vorhaben nicht geeignet (auch wenn der IE es falsch interpretiert).

    :visited gilt für links, die der besucher bereits irgendwann in letzter zeit einmal angeklickt hat.

    gruss,
    wahsaga

    1. Hallo wahsaga!

      Danke fuer deine Antwort. Das active oder visted bringt mich also zu keiner Loesung. Es muss doch aber moeglich sein, den Link "dauerhaft" zu aendern (solange bis ich auf einen anderen gehe)

      Ines

      1. hi,

        Es muss doch aber moeglich sein, den Link "dauerhaft" zu aendern (solange bis ich auf einen anderen gehe)

        natürlich ist das möglich - aber nicht mit CSS alleine.

        du könntest z.b. serverseitig die seite dynamisch erzeugen, und schreibst dabei dann bei dem betreffenden link einen anderen klassennamen ins class-attribut ...

        gruss,
        wahsaga

      2. Hi,

        da ich annehme, daß Du Frames verwendest (sonst würde sich das Problem ja wie Thomas schon sagte nicht stellen), hilft Dir entweder Javascript oder Du erstellst für jeden Link, der sich ändern soll, ein neues Frameset, in dem dieser dann in einer anderen Farbe (und auch nicht als Link) definiert ist.

        Wenn Du Javascript nehmen willst (was für einen solchen, die Funktionalität nicht beeinträchtigenden Effekt ja nicht verwerflich ist), ginge das z.B. so:

        function Farbe(nr)
          {
            if (document.getElementsByTagName)
            {
              for(var i=0; i<7; i++) document.getElementsByTagName("a")[i].style.color="#fff";
              document.getElementsByTagName("a")[nr].style.color="#c00";
            }
          }

        hier für 8 Links definiert, gezählt ab 0. Die Funktionsaufrufe sehen dann so aus:

        <a href="deineseite.html" target="deinframe" onclick="Farbe(0);">erster Link</a>

        freundliche Grüße
        Ingo

  2. Hallo,

    Ich hab da ein Menue, was soweit auch ganz gut funktioniert.

    Hoffentlich auch ohne JavaScript...

    Nun moechte ich, dass der Menuepunkt der aktuelle Seite(also nach aufrufen des links) die Hintergrundfarbe des Menueblocks eine andere Farbe kriegt.

    Falls Du _keine_ Frames verwendest, sondern die Navigation
    auf jeder einzelnen Seite einbindest, sollte dieser
    Punkt im Menue gar kein Link sein.
    http://www.useit.com/alertbox/20031222.html
      Fehler Nr. 10: Pages That Link to Themselves

    Um fuer diesen Punkt, der ja dann kein Link
    mehr ist, auch display:block und andere Dinge
    verwenden zu koennen, kannst Du ihn jeweils
    in ein Span packen.

    #register a    { display:block; /* u.s.w. */ }
    #register span { display:block; /* u.s.w. */ }

    Der HTML-Teil kann dann z.B. so aussehen:
    <ul>
      <li><a href="index.html">Home</a></li>
      <li><span>Ueber mich</span></li>
      <li><a href="kontakt.html">Kontakt</a></li>
    </ul>

    --

    Falls Du Frames verwendest, solltest Du
    http://www.subotnik.net/html/frames.html
    lesen und die Frames abschaffen.

    Falls Du unbedingt weiterhin mit Frames rumbasteln
    willst und Dein Ziel (dauerhafte Markierung des
    zuletzt gewaehlten Menue-Punktes) erreichen willst,
    musst Du mit JavaScript rumbasteln.
    Aber frag mich nicht, wie!

    und 2. Macht es einen Unterschied, ob ich #ffffff oder white schreibe?

    Nein.
    Ich persoenlich bevorzuge die #ffffff Schreibweise,
    weil ich dann auch beim raschen Ueberfliegen ("Scannen")
    des CSS-Codes sofort sehe: Hier ist ein Farb-Wert.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo Thomas,

      Hoffentlich auch ohne JavaScript...

      Noch nicht ;-)

      Falls Du _keine_ Frames verwendest, sondern die Navigation
      auf jeder einzelnen Seite einbindest, sollte dieser
      Punkt im Menue gar kein Link sein.

      ok, ich wollte es bisher mit frames lösen, da ich den Code der Titel+Menueleiste nicht in alle Seiten uebernehmen wollte. Aber ich werde sie wohl rausschmeissen und deinen Vorschlag probieren.

      Ich persoenlich bevorzuge die #ffffff Schreibweise,
      weil ich dann auch beim raschen Ueberfliegen ("Scannen")
      des CSS-Codes sofort sehe: Hier ist ein Farb-Wert.

      da ist was dran...

      Danke