Fokus verschwindet und somit auch der a:focus Effekt
Christof
- sonstiges
0 Cyx230 Ingo Turski
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.
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
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
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
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
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
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
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
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
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