probleme mit css in mehreren frames
harry hafner
- css
im linken frame habe ich mit style-sheets die links hinterlegt, beim wechsel auf den rechten frame werden die links wieder von 'active' auf 'link' gesetzt. meine frage: wie kann ich beim arbeiten im rechten frame die einstellung der links im linken frame, die auf 'active' gesetzt sind beibehalten?
siehe: http://www.pede.ch
gruss harry
wie kann ich beim arbeiten im rechten frame die einstellung der links im linken frame, die auf 'active' gesetzt sind beibehalten?
Gar nicht, zumindest nicht mit CSS und ohne den Inhalt des linken Frames auszutauschen. Die Browser sind sich im übrigen bei Linkpseudoklassen sowieso nicht ganz einig, wann welche zutrifft (bspw. :visited bei seiteninternen Links).
Christoph, mit ohne Frames wär das nicht passiert ...
Hallo, Harry,
im linken frame habe ich mit style-sheets die links hinterlegt, beim wechsel auf den rechten frame werden die links wieder von 'active' auf 'link' gesetzt. meine frage: wie kann ich beim arbeiten im rechten frame die einstellung der links im linken frame, die auf 'active' gesetzt sind beibehalten?
Ohne JavaScript oder dem Austausch des Dokuments (wie Christoph sagt) nicht.
Die JavaScript-Lösung wäre in etwa, dass du beispielsweise beim Klicken auf den Link (onclick, http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onclick) selbigem eine über die Objekteigenschaft className http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#universaleigenschaften temporär eine andere Klasse zuordnest. Vorher solltest du jeweils die Links im Framedokument durchlaufen http://selfhtml.teamone.de/javascript/objekte/links.htm (oder getElementsByTagName('a') http://selfhtml.teamone.de/javascript/objekte/document.htm#get_elements_by_tag_name) und die Klassen aller Links wieder auf den Anfangswert zurücksetzen.
Wahrscheinlich ist diese Methode aber selbst bei Benutzerinnen und Benutzern, welche JavaScript aktiviert haben und einen aktuellen Browser verwenden, nicht sonderlich zuverlässig. Eine wirklich elegante Lösung gibt es demnach nicht.
Grüße,
Mathias