Sticky Table Header / Div

user42

Grünschnabel
Hallo,

nach mehreren Stunden Suche habe ich leider kein passendes Beispiel im Internet gefunden. (Obwohl ich schonmal eins hatte, diesem aber keine beachtung geschenkt habe und nun nicht mehr finde :( )

Vielleicht hat ja jemand von euch einen Link zu einem guten Beispiel.

Ich suche folgendes:
Es gibt Div in der eine Tabelle mit Thead und Tbody enthalten ist. Alternativ kann die Tabelle auch mit einem div, dass 2 divs enthält dargestellt werden.(ist mir eigentlich egal welche Version, ich denke 2teres wäre besser)
Die Tabelle enthält viele Zeilen, die Tabelle selbst soll nicht scrollbar sein, sondern das umgebende Div soll auf einer festen Größe den Div bewegen inder die Tabelle liegt.
Scrollt man nun den äußeren Div kann es ja sein, dass der Header verschwindet, dies soll aber nicht passieren und stattdessen, soll der Header am oberen Rand des äußersten Divs "kleben" bleiben.

Über css ist es definitiv nicht möglich, da ja nicht der Table gescrollt wird sondern das umgebende div.

Ich wäre sehr dankbar für eine konstruktive Antwort oder ein passendes Beispiel ;)

Grüße

//Edit: Idee die ich atm verfolge ist dies: Wenn der BodyDiv das umgebende Div berührt:soll die position auf absolut gesetzt werden. Die würde meiner Meinung nach den gewünschten Effekt hervorrufen. Seht ihr bei der Idee ein Fehler? Wie Prüfe ich ob sich zwei divs berühren oder die selbe Position erreichen?
 
Zuletzt bearbeitet:
Scrollt man nun den äußeren Div kann es ja sein, dass der Header verschwindet, dies soll aber nicht passieren und stattdessen, soll der Header am oberen Rand des äußersten Divs "kleben" bleiben.

Über css ist es definitiv nicht möglich, da ja nicht der Table gescrollt wird sondern das umgebende div.

Ich wäre sehr dankbar für eine konstruktive Antwort oder ein passendes Beispiel ;)
Hi,

dann schau dir mal http://www.cssplay.co.uk/menu/tablescroll an, das Beispiel "Method #1" entspricht deiner Markup-Struktur, und alles ist mit purem CSS realisiert :)

mfg Maik
 
Vielen Dank Maik,

da hab ich mich wohl missverständlich ausgedrückt :D
Wenn wir deine Beispielseite nehmen ist mein gewünschter Effekt der, wenn ich die gesamte Seite scrolle, dass dann der Header der Tabelle oben stickt, solange die Tabelle nicht komplett sichtbar ist.
Also wenn man die Seite so scrollt dass Tabelle 1 nur zur hälfte sichtbar ist, soll man dennoch den Header sehen sollen, weil er dann am oberen Rand stickt.

Ich glaube nicht, dass es ohne js geht, falls doch wäre es natürlich prima :P
 
da hab ich mich wohl missverständlich ausgedrückt :D
Wenn wir deine Beispielseite nehmen ist mein gewünschter Effekt der, wenn ich die gesamte Seite scrolle, dass dann der Header der Tabelle oben stickt, solange die Tabelle nicht komplett sichtbar ist.
Also wenn man die Seite so scrollt dass Tabelle 1 nur zur hälfte sichtbar ist, soll man dennoch den Header sehen sollen, weil er dann am oberen Rand stickt.
Danke, damit wären dann von meiner Seite die letzten Klarheiten beseitigt :-)

Mit anderen Worten: Ich kann dir gerade nicht folgen, worauf du hinauswillst :confused:

mfg Maik
 
Glücklicherweise habe ich eben das Beispiel gefunden. :) Habe mir den Code noch nicht angeschaut...

http://cross-browser.com/x/examples/xthf.html

Funktioniert es bei dir im IE 6 ? Unten steht, dass es funktioniert - bei mir allerdings nicht.

So schau mir jetzt mal den Code an
http://cross-browser.com/x/examples/xtable.html kenn ich selbst, und läuft im IE6 wie geschmiert - crossbrowser eben ;-)

Und weiter?

Auch hier "stickt" der Tabellen-Header nicht am oberen Fensterrand, wenn die gesamte Seite gescrollt wird, die Tabelle aber nur zur Hälfte zu sehen ist, und entspricht genau dem, was Stu Nicholls in seinem Experiment ohne JS realisiert hat.

mfg Maik
 
Funktioniert bei mir im IE6 ebenfalls.

Naja, wenn das mit dem Header so ablaufen soll, bist du mit JS eindeutig besser bedient :-)

mfg Maik
 
mh komisch, dass es bei dir mit dem ie6 geht... ich versuch das später mal aufm notebook

Vielen Dank soweit :D

soll ich den thread schließen? ich denke dass evtl noch Fragen meinerseits kommen :D
 
soll ich den thread schließen? ich denke dass evtl noch Fragen meinerseits kommen :D
Schließen kannst du hier nix :p

Du kannst den Thread aber für's Erste als erledigt markieren, und sollten noch Fragen zu diesem Thema aufkommen, diese hier weiterhin anknüpfen, und den Status wieder auf "Frage offen" setzen ;)

mfg Maik
 

Neue Beiträge

Zurück