phase: Tabelle scrollen: komischer Effekt

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

  1. 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

    --
    Selfcode: ie:} fl:{ br:> va:) ls:< fo:( rl:? n4:# ss:| de:] js:| ch:? sh:( mo:? zu:)
    "Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung."
    (Albert Einstein)
    1. 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

      1. 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

        1. 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...

          1. 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

            1. 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.

              1. 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

                1. 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

                  1. 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

  2. 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