Andreas H: Navigation mittels CSS - Problem: Fokuswechsel

Hallo zusammen!

An ganz anderer Stelle im Forum wurde mal ein Link (http://weblab.vnu.de/css-1.html) zu einer Seite mit einer Naviagtion realisiert durch CSS geposted.

Diese Methode gefällt mir sehr gut und so möchte ich sie gerne auch bei mir in ähnlicher Form realisieren. Es sei anzumerken, daß ich (ja leider) Frames einsetze. Nun stellt sich mir ein Problem - erläutert am oben erwähnten Link:

Klickt man bspw. auf "Pinnwand" wird eben ganz normal die jeweilige Seite geladen und entsprechend dem CSS-Befehl der angeklickte Link in seinem Layout geändert.
Befindet sich aber nun auf eben dieser Seite (also außerhalb der eigentlich Navigationsleiste) ein Querverweis auf einen andere Seite aus der Navigation wie z.B. "Chatline", wird zwar diese neue Seite geladen, aber da man ja nicht die Navigationsleiste benutzt hat, wird der Fokus/aktive Link dort jetzt nicht mehr farblich angepaßt. Der Klick ging ja quasi am CSS der Navigationsleiste vorbei.

Daher nun meine Frage im obigen Kontext: Ist es möglich, CSS bzw. dem Browser irgendwie zu sagen, daß er einen Link als "aktiv" (CSS) markieren soll, auch wenn man ihn selbst eigentlich gar nicht angeklickt hat, sondern anders auf die entsprechende Seite gekommen ist?

Schöne Grüße aus Augsburg,
Andreas H

P.S.: Ich glaub, die Antwort lautet wohl "Nein", aber ich laß mich natürlich gerne vom Gegenteil überzeugen. ;)

  1. Mittels CSS ist es so weit ich weis nicht möglich.

    Man kann es aber mit PHP erreichen, man benötigt halt nur einen server der PHP untersrützt

    Thomas

  2. Hallo zusammen!

    Hallo alleine!

    Zunächst einmal eine kleine Aufklärung in punkto :focus bzw. :active. Diese beiden CSS-Pseudoklassen haben nichts damit zu tun, welches die "aktive" (im Sinne von angezeigte) Seite ist. Focus sagt aus, welcher Link gerade "die gepunktete Linie" um sich herum hat (insbesondere durch eine Navigation mit der Tastatur kann das ein x-beliebiger Link sein), und Active meint das aktivieren (im Sinne von in Gang setzen/anklicken) eines Links, also ein Zeitrahmen von in der Regel ein paar Millisekunden.

    Jetzt laß mich noch ein bißchen raten: du benutzt den IE? ;-)

    Zum einen ist diesem Browser die Pseudoklasse :focus unbekannt und zum anderen hat er die von Dir beobachtete etwas seltsame Auffassung von :active (er hält :active für :focus ;-) ), was insbesondere in einem Navigationsframe danach aussieht, als wenn er die "aktive" Seite erkennen würde und entsprechend markieren würde. Du mußt nicht einmal auf einen Link innerhalb des Hauptfensters klicken, ein Klick irgendwohin reicht aus und der zunächst markierte Link hat nicht mehr den Fokus und fällt somit in seine Ursprungsformatierung zurück.

    Lange Rede, kurzer Sinn: wenn Du willst, daß in einem Navigationsmenü der jeweils angezeigte Punkt eine gesonderte dauerhafte Formatierung erhält, dann geht das nicht über die CSS-Pseudoklassen, sondern Du mußt für jeden Punkt einen eigenen Navigationsframe anlegen, in dem Du dann entsprechend Deinen Wünschen formatieren kannst.

    Viele Grüße
    Carsten

    PS: eine Seite, wo sowas mit JavaScript und ohne 1000 verschiedene Navigationsframes gelöst ist, findest Du unter http://www.efa.de (elektronische Fahrplanauskunft Niedersachsen). Aber Achtung: die Seite ist ein Fall für Kai Lahmanns TechEvangs. Das benutzte JavaScript ist nur für Netscape 4.x und IE. Die Fehlermeldung, daß sie mit "Hochdruck" an einer Lösung für Netscape 6 arbeiten ist so alt wie Netscape 6.0. Dabei sollte es ein leichtes sein, die document.all-Variante auf eine für moderne Browser taugliche document.getElementById-Variante umzuschreiben...

    1. Hallo nochmal,

      PS: eine Seite, wo sowas mit JavaScript und ohne 1000 verschiedene Navigationsframes gelöst ist, findest Du unter http://www.efa.de (elektronische Fahrplanauskunft Niedersachsen).

      Noch'n PS: auf der Seite ist es (unschwer zu erkennen) mit Bildern und nicht mit CSS gelöst

      Viele Grüße
      Carsten

    2. re-hi!

      Zunächst einmal eine kleine Aufklärung in punkto :focus bzw. :active. Diese beiden CSS-Pseudoklassen haben nichts damit zu tun, welches die "aktive" (im Sinne von angezeigte) Seite ist. [...]

      Hhm, ja, klar, Du hast natürlich recht und vielen Dank für die Aufklärung. :) Ist mir erst jetzt aufgefallen, daß ich da die Begriffe wohl zu unscharf und auch falsch voneinander abgegrenzt habe. Na ja, aber ab jetzt bin ich schlauer. thx

      Lange Rede, kurzer Sinn: wenn Du willst, daß in einem Navigationsmenü der jeweils angezeigte Punkt eine gesonderte dauerhafte Formatierung erhält, dann geht das nicht über die CSS-Pseudoklassen, sondern Du mußt für jeden Punkt einen eigenen Navigationsframe anlegen, in dem Du dann entsprechend Deinen Wünschen formatieren kannst.

      OK, danke! Ja, die von Dir beschriebene Lösung ist die, die ich momenatan habe ... und die, die es nach Deinen Ausführungen wohl auch demnächst bleiben wird. :// Na ja, schade! Manchmal geht halt doch net alles so, wie man sich das wünschen würde.

      Viele Grüße

      zurück,
      Andreas

    3. hi

      http://bugzilla.mozilla.org/show_bug.cgi?id=159459

      eine peinlichere Ausrede habe ich auch schon lange nicht mehr gehört...
      TE eingetragen [linkhttp://bugzilla.mozilla.org/show_bug.cgi?id=159459] und Mail geschickt.

      Grüße aus Bleckede

      Kai

      1. Hallo Kai,

        kann es sein, daß Du in dem Bug-Report eine Kleinigkeit vergessen hast? Die URL der Seite zum Beispiel...? ;-)

        Viele Grüße
        Carsten

        PS: die allererste Fehlermeldung die "damals" kam, war die, daß mein Netscape 6.0 kein CSS können würde...

        1. hi

          kann es sein, daß Du in dem Bug-Report eine Kleinigkeit vergessen hast? Die URL der Seite zum Beispiel...? ;-)

          uuups

          PS: die allererste Fehlermeldung die "damals" kam, war die, daß mein Netscape 6.0 kein CSS können würde...

          ok, auch nicht ohne ;)
          ...schlechte Browserweiche oder meinte das einer ernst?

          Grüße aus Bleckede

          Kai

          1. Hallo Kai,

            ...schlechte Browserweiche oder meinte das einer ernst?

            Wenn ich mich recht entsinne ersteres (ist schon sooo lange her...). Ich hatte denen kurz nach Erscheinen von Netscape 6.0 "final" eine nette Mail geschrieben, daß da etwas nicht stimmen kann. Kurz darauf erschien mit Mozilla/Netscape6 die Meldung, die man noch heute bewundern kann. Ich hatte mir kurzzeitig sogar überlegt, ob ich das Script mit meinen bescheidenen JS-Kenntnissen mal selbst in Angriff nehme, aber das war mir dann doch zu blöd, denen die Arbeit, für die sie ja schließlich bezahlt werden, abzunehmen.
            Die Herrschaften können übrigens "froh" sein, daß die Seite im Quirks-Mode gerendert wird, denn das Browserweichenscript wird mit "application/octet-stream" angeliefert... ;-)

            Viele Grüße
            Carsten