Tabelle scrollen: komischer Effekt
phase
- css
hi, ich habe eine Tabelle deren Inhalt ich scrollen muss.
Das klappt soweit ganz gut, zumindest im Firefox.
2 Probleme habe ich dennoch, und zwar scrollen die horizontalen border der Zellen nicht mit, was etwas komisch aussieht. Desweiteren wird die Tabelle unten weiter fortgeführt obwohl kein Inhalt mehr angezeigt wird.
Das ganze lässt sich hier begutachten: klick mich
wäre toll wenn sich das mal jemand ansehen und mir auf die Sprünge helfen könnte. Vielleicht hat ja auch noch jemand einen Tipp wie ich den IE zum scrollen des Tabelleninhaltes überreden kann.
Gruß,
phase
Hi phase!
wäre toll wenn sich das mal jemand ansehen und mir auf die Sprünge helfen könnte.
HTML und CSS weisen zum Teil gravierende Fehler auf, die zuerst beseitigt werden sollten.
mfG
Benjamin
ok, die HTML fehler habe ich entfernt. hätte ich vorher validieren sollen.
Das CSS habe ich auch soweit bereinig. Die Fehler, die jetzt noch drin sind, sind meiner Meinung nach zu tollerieren und sollten nicht zu den besagten Problemen führen.
Noch einen Tipp?
Gruß,
phase
Hallo phase,
Noch einen Tipp?
Wenn du einen TBODY unterhalb eines THEADS scrollen willst, sodass beides innerhalb einer Tabelle steht (was strukturell gesehen das einzig Richtige ist) bleibt dir wohl nur ein Frameset, das in den verschiedenen Frames jeweils nur Ausschnitte derselben Tabelle zeigt.
Wenn du es strukturell nicht so eng siehst, kannst du den Tabellenkopf und den Tabellenbody in zwei Tabellen aufteilen, deren Spaltenbreite du gleichermaßen fest vordefinierst und die Tabelle mit dem eigentlichen Tabellenbody in ein scrollbares DIV separat unterhalb "ihres" Tabellen-"Kopfes" packen.
Gruß Gernot
Hallo Gernot,
die Struktur muss schon korrekt sein, also kommt die Lösung mit dem Aufteilen in 2 Tabellen und dem Scoll-Div nicht in Frage. Danke.
Was mich wundert ist halt dieser komische Effekt das die Border der Zellen nicht mitscrollen.
Das problem den IE zum scrollen zubewegen ist dann ein anderes...
Hallo phase,
Was mich wundert ist halt dieser komische Effekt das die Border der Zellen nicht mitscrollen.
Wenn du statt mit Borders bei den Tabellenzellen und statt mit border-collapse:collapse in der Tabelle im Gegenteil mit border-collapse:separate; border-spacing:1px sowie einer Hintergrundfarbe für die Tabelle arbeitest, scrollen zumindest die Zell-Zwischenräume im Firefox mit.
Gruß Gernot
ja genau, das hab ich auch grad herausgefunden. http://www.agavegroup.com/?p=31
das löst zwar noch nciht das Problem mit dem IE aber schon mal etwas, danke.
Hallo phase,
das löst zwar noch nciht das Problem mit dem IE aber schon mal etwas, danke.
Naja, für den IE bleibt dann nur ein zweimaliges, jeweils ausschnittweises Anzeigen der Tabelle. Einmal nur den Kopf, das andere Mal nur der TBODY, beschnitten durch jeweils ein DIV mit entsprechender Höhe und overflow:hidden bzw. auto sowie einem negativen Margin-Top in Höhe des THEADs für die zweite Ausgabe der Tabelle, damit diese dort nicht nochmal mit diesem anfängt. Für nicht visuelle Ausgabemedien kann man die Zweittabelle in einem speziellen Stylesheet dann ja auf display:none stellen und die Höhen- und Overflow-Beschränkungen der Erstausgabe aufheben.
Überbreite Tabellen könnte man über Javascript wahrscheinlich auch koordiniert in horizontaler Richtung scrollen, auch ohne Frameset. Bei meinem Artikel war ich damals auf n die Window-Methode scrollTo() fixiert, aber mit den veränderbaren Eigenschaften scrollTop und scrollLeft lässt sich ja auch bei DIVs was machen. Ich müsste den Artikel mal überarbeiten, habe aber im Moment keine Muße.
Gruß Gernot
ich muss mal schauen ob ich so eine adäquate Lösung hinbekomme. Auf JavaScript wollte ich eigentlich gänzlich verzichten.
Danke für deine Anregungen.
Gruß,
phase
Hallo phase,
ich muss mal schauen ob ich so eine adäquate Lösung hinbekomme. Auf JavaScript wollte ich eigentlich gänzlich verzichten.
Javascript benötigst du ja dazu auch nicht, du willst ja nichts koordiniert scrollen, hast doch nur einen vertikal scrollbaren Bereich in deinem Fall! Elegant wäre es natürlich schon, die zweite Tabelle per Javascript zu clonen, damit die Dopplung nicht unnötig den ausgelieferten Quellcode aufbläht.
Bei denen, die Javascript deaktiviert haben, bliebe der THEAD-Bereich dann halt nicht stehen. Selber schuld und für diese Nutzer verkraftbar!
Gruß Gernot
Hallo phase,
wäre toll wenn sich das mal jemand ansehen und mir auf die Sprünge helfen könnte. Vielleicht hat ja auch noch jemand einen Tipp wie ich den IE zum scrollen des Tabelleninhaltes überreden kann.
http://aktuell.de.selfhtml.org/artikel/javascript/scrolltabelle/index.htm
Damit das auch im IE funktioniert, muss man ihn in den Quirksmodus versetzen. Bis zum IE6 geschah dies mit dem XML-Prolog, nun ist dazu (alternativ oder zusätzlich) ein HTML-Kommentar vor dem DOCTYPE erforderlich. Es macht keinen Spaß.
Gruß Gernot