Irgendwie ist es doch peinlich, wenn man irgendwann einmal auf eine Lösung stößt, nach der man vor Jahren länger gesucht und dann verzweifelt einen Work-Around verwendet hat.
Die Anforderung war damals eine HTML TABLE dazu zu bringen, dass bei Scrollen die Zeile mit den Spaltenüberschriften stehen bleibt.
Man sieht im JSFiddle das Bild, dass ich mir damals gewünscht habe. Die Lösung ist so primitiv, dass ich mich schon fast schämen müsste, die vor ein paar Jahren nicht direkt gefunden zu haben:
th {
background: white;
position: sticky;
top: 0;
z-index: 1;
}
In diesem konkreten Beispiel ist der z-index nicht notwendig, im realen Projekt hatte ich den lustigen Effekt, dass ein einzelner (!) Spaltenname scheinbar doch mit scrollt – sah dann aus wie eine Zahnlücke. Tatsächlich wurde dieser durch die Zellen der Spalte einfach überdeckt. Je nach konkreter Situation kann es sein, dass man hier individuell nachbessern muss.
Happy Coding
Jochen