Christof: Fokus verschwindet und somit auch der a:focus Effekt

Hallo zusammen
ich habe im Forum bisher noch nichts dazu gefunden und vieleicht lässt sich das Problem auch nicht so einfach lösen wie ich mir das vorstelle. (entschuldigt bitte Formefehler, mein erster Post)

Die aktuelle Seite die ich am erstellen bin und auf die ich micht in meinem folgenden Text beziehe ist auf www.mazda-buelach.ch/test zu erreichen.

Nun folgendes Problem:

Ich habe in einem externen CSS-File die verschiedenen pseudonyme für die links definiert d.h. ich habe für die Navigation auf der linken Seite einen Eigenen Klasse benutzt in der ich :link, :visited, :hover und :focus definiert habe. Wenn ich nun auf der linken Seite einen Link anklicke funktioniert alles wunderbar mit dem focus-effekt (link bleibt unterstrichen) doch sobald ich irgenwo anders auf die Seite klicke ist logischerweise der fokus nicht mehr auf dem link und der effekt nicht mehr da.

Hat jemand eine Idee wie man verhindern könnte das der Effekt wieder aufgelöst wird (Bitte Lösung für IE und FireFox).

Schon im vornherein Danke für eure Hilfe!

PS: Später möchte ich den focuseffekt mit einem anderen bild hinterlegen.

  1. Hallo,

    PS: Später möchte ich den focuseffekt mit einem anderen bild hinterlegen.

    es geht dir vermutlich weniger um :focus als um :active.
    Focus solte z.B. auch dann reagieren wenn die Links per Tab-Taste durchgegangen werden.

    Da du einen iframe benutzt (da fehlt übrigens noch eine Lösung für alte Browser) hast
    du auch weniger Möglichkeiten für jede Seite die Navigation anders auszulegen, bleibt
    notfalls noch JavaScript.

    Grüsse

    Cyx23

    1. Hi,

      Hallo,

      PS: Später möchte ich den focuseffekt mit einem anderen bild hinterlegen.
      es geht dir vermutlich weniger um :focus als um :active.

      Wohl kaum. :active ist ja (wenn korrekt implementiert, also nicht im IE) noch kürzer gültig als :focus.

      Christof bräuchte vermutlich eher sowas wie :linkderimhrefattributdieurlderseiteinirgendeinemframestehenhat

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hallo,

        Christof bräuchte vermutlich eher sowas wie :linkderimhrefattributdieurlderseiteinirgendeinemframestehenhat

        stimmt, den "Aktiven" Link natürlich im von dir erwähnten inhaltlichen Sinne,
        also eine Lösung ohne Frames mit entspr. der gerade geladenen Seite
        markierten Menu-Punkten, oder ein JavaScript (was wohl auch in der per Iframe
        geladenen Datei stehen könnte), um die Links entspr. zu verändern.

        Grüsse

        Cyx23

        1. Hallo,

          Christof bräuchte vermutlich eher sowas wie :linkderimhrefattributdieurlderseiteinirgendeinemframestehenhat

          stimmt, den "Aktiven" Link natürlich im von dir erwähnten inhaltlichen Sinne,
          also eine Lösung ohne Frames mit entspr. der gerade geladenen Seite
          markierten Menu-Punkten

          Das hab ich mir auch schon überlegt doch dann müsste ich für jeden Link eine eigene Seite erstellen und er würde jedesmal den Banner und alles andere neu laden und dann hätte ich jedesmal ziemlich lange Ladezeiten und das zweite Problem wäre dann das Tab das unterhalb der Navigation mit php Gecoded ist, immer wieder zurückgesetzt wird.

          Greez Christof

          --
          Schreibfehler sind gewollt und dienen zur allgemeinen Erheiterung
          1. Hallo,

            Das hab ich mir auch schon überlegt doch dann müsste ich für jeden Link eine eigene Seite erstellen und er würde jedesmal den Banner und alles andere neu laden und dann hätte ich jedesmal ziemlich lange Ladezeiten und das zweite Problem wäre dann das Tab das unterhalb der Navigation mit php Gecoded ist, immer wieder zurückgesetzt wird.

            Die Alternative wäre ein JavaScript welches nach dem Laden der Datei im Iframe den
            betr. Link der Hauptseite verändert.

            Aber die Lösung mit eigenen Seiten führt nicht in dem von dir befürchteten Umfang zu
            hohen Ladezeiten, die Bilder im Banner müssen nicht nochmal übertragen werden.

            Meinst du beim PHP dass der Server mehr arbeiten muß, oder was
            wird wieder zurückgesetzt?

            Grüsse

            Cyx23

            1. Hallo

              Meinst du beim PHP dass der Server mehr arbeiten muß, oder was
              wird wieder zurückgesetzt?

              Grüsse

              Cyx23

              Es wird zurückgesetzt d.h. es ist dann wieder das linke Tab aktiv auch wenn man vorher das rechte angeklickt und somit aktiviert hat, dann ist nach dem neu laden wieder das linke aktiv.

              Gruss Christof

              --
              Schreibfehler sind gewollt und dienen zur allgemeinen Erheiterung
              1. Hallo,

                Es wird zurückgesetzt d.h. es ist dann wieder das linke Tab aktiv auch wenn man vorher das rechte angeklickt und somit aktiviert hat, dann ist nach dem neu laden wieder das linke aktiv.

                Also müßte das an die neue Seite übergeben oder per session irgendwie zugeordnet werden,
                da könnte sonst eine Framelösung tatsächlich Vorteile haben.

                Grüsse

                Cyx23

          2. Hi,

            doch dann müsste ich für jeden Link eine eigene Seite erstellen

            Ja und? Das machst Du doch bereits jetzt schon, nur halt auf den Inhalt des iframes begrenzt.

            und er würde jedesmal den Banner und alles andere neu laden

            Unsinn. Die Browser nutzen i.d.R. einen Cache und selbst wenn sie die Dateien wiederholt anfordern, reicht ihnen i.d.R. die Antwort 304 - not modified.

            und dann hätte ich jedesmal ziemlich lange Ladezeiten

            kaum spürbar. Und bei der ersten Seite sogar eine kürzere Ladezeit, da der zusätzliche Request für den iframe wegfällt.

            und das zweite Problem wäre dann das Tab das unterhalb der Navigation mit php Gecoded ist, immer wieder zurückgesetzt wird.

            Ich sehe da zwar kein Problem, aber wenn Du eines siehst, läßt sich das sicherlich auch lösen.

            freundliche Grüße
            Ingo

  2. Hi,

    Ich habe in einem externen CSS-File die verschiedenen pseudonyme für die links definiert

    Pseudoklassen.

    Wenn ich nun auf der linken Seite einen Link anklicke funktioniert alles wunderbar mit dem focus-effekt (link bleibt unterstrichen) doch sobald ich irgenwo anders auf die Seite klicke ist logischerweise der fokus nicht mehr auf dem link und der effekt nicht mehr da.

    Hat jemand eine Idee wie man verhindern könnte das der Effekt wieder aufgelöst wird (Bitte Lösung für IE und FireFox).

    Es ist nicht sinnvoll, wenn :focus in dieser Art zweckentfremdet wird. Da die gerade angezeigte Seite nicht verlinkt werden sollte (denn ein Klick hierauf wäre ja sinnlos wenn nicht verwirrend), entferne einfach das a-Element oder ersetze es z.B. durch ein span und formatiere dies dann wie gewünscht. Hierzu müßtest Du natürlich stets eine komplette neue Seite laden und könntest dann auf den iframe auch verzichten.

    freundliche Grüße
    Ingo